福建省福州市西门子中国总代理-西门子选型-西门子技术支持-西门子维修服务
- 供应商
- 湖南西控自动化设备有限公司
- 认证
- 联系电话
- 15344432716
- 手机号
- 15386422716
- 销售顾问
- 杨本刚
- 所在地
- 中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
- 更新时间
- 2024-12-13 08:50
① 在第一个 cpu 中调用发送通信指令,进入 “project tree” > “ plc_1” >“programblocks” > “ob1” 主程序中,从右侧窗口 “instructions” >“communications”> “open user communications”下调用 “tcon”指令,创建连接,如图5所示。
图5. 调用“tcon”通信指令
② 创建db2 分配连接参数,见图6所示
图6. 创建连接数据块 db2(con_db)
③ 定义plc_1的 “tcon”连接参数
plc_1 的 tcon指令的连接参数需要在指令下方的属性窗口“properties”>“configuration”>“connectionparameter”中设置,如图7所示。
图7. 定义 tcon 连接参数
连接参数说明:
end point | :可以通过点击选择按钮选择伙伴 cpu :plc_2 |
connection type | :选择通信协议为 tcp(也可以选择 iso on tcp 或udp协议) |
connection id | :连接的地址 id 号,这个 id 号在后面的编程里会用到 |
connection data | :创建连接时,生成的con_db块。见图2所示 |
active connection setup | :选择本地 plc_1作为主动连接 |
address details | :定义通信伙伴方的端口号为:2000;如果选用的是 iso on tcp 协议,则需要设定的tsap 地址(ascii形式),本地plc_1可以设置成“plc1”,伙伴方 plc_2 可以设置成“plc2”。 |
① 调用 “tsend” 在ob1内调用 发送100个字节数据到plc2中
进入 “project tree” > “ plc_1” > “program blocks” >“ob1”主程序中,从右侧窗口 “instructions” > “communications” > “openusercommunications”下调用 “tsend” 指令,如图8所示。
图8. 调用 tsend
② 创建并定义plc_1的发送数据区 db 块。
通过“project tree”>“plc_1”>“program blocks”>“addnewblock”,选择“data block” 创建 db块,选择juedui寻址,点击“ok”键,定义发送数据区为100个字节的数组,如图9及图10所示。
图9. 创建发送数据区 db 块
注意:对于双边编程通信的 cpu ,如果通信数据区使用 db 块,既可以将db块定义成符号寻址,也可以定义成juedui寻址。使用指针寻址方式,必须创建juedui寻址的 db 块。
图10. 定义发送数据区为字节类型的数组 图 plc1_tsendc_data
③ 定义 plc_1 的“tsend”发送通信块接口参数,如图11所示。
图11. 定义 tsend 接口参数
参数说明:
输入接口参数:
req | := m0.3 | https:// 使用 2hz 的时钟脉冲,上升沿激活发送任务 |
id | : = 1 | https://创建连接id |
len | := 100 | https://发送数据长度 |
data | := p#db3.dbx0.0 byte 100 | https:// 发送数据区的数据,使用指针寻址时,db块要选用juedui寻址 |
输出接口参数:
done | := m300.0 | https://任务执行完成并且没有错误,该位置 1 |
busy | := m300.1 | https:// 该位为 1,代表任务未完成,不能激活新任务 |
error | := m300.2 | https://通信过程中有错误发生,该位置 1 |
status | := mw302 | https://有错误发生时,会显示错位信息号 |