首页 理论教育 S7-1200/1500之间UDP协议通信优化方案

S7-1200/1500之间UDP协议通信优化方案

时间:2023-06-30 理论教育 版权反馈
【摘要】:S7-1200/1500/300/400之间的开放式用户通信还可以使用UDP协议,通信的双方都需要调用指令TCON、TDISCON、TUSEND和TURCV。用监控表令双方的TDISCON的REQ均为0状态,在TCON的REQ的上升沿,建立起ID为1的通信连接,开始传输数据。S7-1500之间和S7-1200、S7-1500之间的UDP通信的组态和编程方法与上述S7-1200之间的UDP通信的相同。

S7-1200/1500之间UDP协议通信优化方案

S7-1200/1500/300/400之间的开放式用户通信还可以使用UDP协议,通信的双方都需要调用指令TCON、TDISCON、TUSEND和TURCV。

1.组态连接参数

项目“1200_1200UDP”(见随书光盘中的同名例程)与项目“1200_1200ISO_C”的硬件组态相同。通信双方在OB1中用指令TCON建立连接,用指令TDISCON断开连接(见图6-20),选中TCON,然后选中下面的巡视窗口的“属性>组态>连接参数”,设置通信伙伴为“未指定”,连接类型为UDP。“连接ID”(连接标识符)的默认值为1,将用于TCON和TDISCON。UDP协议不能设置“主动建立连接”单选框。

单击“本地”的“连接数据”选择框右边的978-7-111-58719-4-Chapter06-30.jpg按钮,选中出现的“<新建>”,自动生成连接描述数据块“PLC_1_Connection_DB”(DB4)。本地端口号为默认的2000。在图6-20的梯形图中,DB4是指令TCON的输入参数CONNECT(指向连接描述的指针)的实参。除了本地PLC名称、接口、IP地址和连接数据不同外,PLC_2的“连接参数”对话框与图6-20基本上相同。

2.生成定义UDP连接参数的数据块

双击项目树的文件夹“\PLC_1\程序块”中的“添加新块”,在“添加新块”对话框中,选中“数据块”按钮,用类型选择框选中“TADDR_Param”,为通信双方生成全局数据块DB7,将它的名称改为“接口参数”。组态UDP连接参数时,双方的伙伴均为“未指定”(见图6-20),需要用DB7来设置远程通信伙伴的IP地址和端口号(见图6-21),双方的本地端口号应相同。TUSEND和TURCV的输入参数ADDR的实参为DB7(见图6-22)。

978-7-111-58719-4-Chapter06-31.jpg

图6-20 TCON、TDISCON指令与UDP连接参数组态

978-7-111-58719-4-Chapter06-32.jpg

图6-21 用DB7设置PLC_1的通信伙伴的IP地址和端口地址

在程序运行过程中修改DB7中通信伙伴的IP地址和端口号,可以和不同的伙伴通信。

3.编写发送与接收数据的程序(www.xing528.com)

与项目“1200_1200_ISO_C”相同,双方均采用验证通信是否实现的典型程序结构。

将右边的指令列表中的“通信”窗格的“\开放式用户通信\其他”文件夹中的TUSEND和TURCV拖拽到梯形图中(见图6-22)。它们的背景数据块TUSEND_DB(DB5)和TURCV_DB(DB6)是自动生成的。在时钟存储器位M0.3的上升沿,每0.5sTUSEND发送一次DB1中的数据。TURCV的接收使能输入EN_R为TRUE(1状态),准备好接收数据,接收的数据用DB2保存。LEN是要发送或接收的数据的长度,它为默认值0时,发送或接收用参数DATA定义的所有的数据。RCVD_LEN是实际接收到的数据的字节数。其他参数的意义与TSEND_C和TRCV_C的同名参数相同。

978-7-111-58719-4-Chapter06-33.jpg

图6-22 TUSEND和TURCV指令

4.通信实验

UDP通信不能仿真。用以太网电缆通过交换机或路由器连接计算机和两块CPU的以太网接口,将用户程序和组态信息分别下载到两块CPU,令它们处于运行模式。

用双方的监控表分别监控两块CPU的TCON和TDISCON的REQ输入M10.0和M10.4,以及DB2中接收到的DBW0、DBW2和DBW198。

用监控表令双方的TDISCON的REQ(M10.4)均为0状态,在TCON的REQ(M10.0)的上升沿,建立起ID为1的通信连接,开始传输数据。可以看到双方接收到的第一个字DB2.DBW0不断增大,DB2中的DBW2和DBW198是通信伙伴在首次扫描时预置的值。

连接建立起来以后,可以用TDISCON的请求信号M10.4的上升沿断开连接,停止数据传输。停止传输后,可以用M10.0的上升沿来再次建立连接。

如果令双方的TCON的REQ(M10.0)为常数1,进入RUN模式时双方开始传输数据。

S7-1500之间和S7-1200、S7-1500之间的UDP通信的组态和编程方法与上述S7-1200之间的UDP通信的相同。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈