S7-1200 与 S7-1200/S7-1500 TCP 通讯
S7-1200 与 S7-1200 之间的以太网通讯不错通过 TCP 条约来完毕,使用的通讯请示是在两边 CPU 调用 T-block (TSEND_C,TRCV_C,TCON,TDISCON,TSEND,TRCV) 请示来完毕。通讯式样为双边通讯哥也色中文娱乐地址,因此 TSEND 和 TRCV 必须成对出现。
此外本文也可用于S7-1200和S7-1500 TCP 通讯。
硬件和软件需求及所完成的通讯任务硬件:
① 两台S7-1200 CPU(PLC_1:CPU1215C DC/DC/DC,固件版块V4.4和PLC_2:CPU1214C DC/DC/DC,固件版块V4.4)
② PC(带以太网卡)
③ TP电缆(以太网电缆)
软件:
TIA PORTAL STEP7 V16
所完成的通讯任务:
① 将PLC_1 的通讯数据区 DB3 块中的 100 个字节的数据发送到 PLC_2 的领受数据区 DB4 块中。
② 将PLC_2 的通讯数据区 DB3 块中的 100 个字节的数据发送到 PLC_1 的领受数据区 DB4 块中。
S7-1200之间 TCP 通讯,不错分2种情况来操作,具体如下:
第一种情况:两个 S7-1200 在一个面目中操作 第二种情况:两个 S7-1200 不在一个面目中的操作 一. 第一种情况(归拢面目中操作)使用 STEP 7 V16 在归拢个面目中,新建两个S7-1200站点,然后作念 TCP 通讯。
1.1 通讯的编程,相接参数及通讯参数的设置 1. 翻开 STEP7 V16 软件并新建面目在 STEP7 V16 的 “Portal 视图” 中选拔 “创建新面目” 创建一个新面目
2. 添加硬件并定名PLC然后插足 “面目视图”,在“面目树” 下双击 “添加新开荒”,在对话框中选拔所使用的S7-1200 CPU添加到机架上,定名为 PLC_1,如图1所示。
不异设施再添加通讯伙伴的S7-1200 CPU ,定名为 PLC_2。
图1. 添加新开荒
为了编程精真金不怕火,使用 CPU 属性中界说的时钟位,界说设施如下:
在 “面目树” > “PLC_1” > “开荒组态” 中,选中 CPU ,然后不才面的属性窗口中,“属性” > “系统和时钟存储器” 下,将系统位界说在MB1,时钟位界说在MB0,如图2所示。
时钟位咱们主要使用 M0.3,它所以2Hz 的速度在0和1之间切换的一个位,不错使用它去自动激活发送任务。
图2. 系统位与时钟位
3. 为 PROFINET 通讯口分拨以太网地址在 “开荒视图”中点击 CPU 上代表PROFINET 通讯口的绿色小方块,不才方会出现PROFINET 接口的属性,在 “以太网地址” 下分拨IP 地址为 192.168.0.1 ,子网掩码为255.255.255.0,如图3所示。
图3. 分拨IP 地址
不异设施,在归拢个面目里添加另一个新开荒S7-1200 CPU 并为其分拨 IP 地址为192.168.0.2
4. 创建 CPU之间的逻辑网罗相接在面目树 “面目树”>“开荒和网罗” >“网罗视图” 视图下,创建两个开荒的相接。用鼠标点中 PLC_1 上的PROFINET通讯口的绿色小方框,然后拖拽出一条线,到另外一个PLC_2 上的PROFINET通讯口上,削弱鼠标,相接就开发起来了,如图4所示。
图4. 开发两个 CPU的逻辑相接
1.2 在 PLC_1 中调用并设置“TCON”、“TSEND”、“TRCV” 通讯请示 1.在 PLC_1 的 OB1 中调用“TCON” 通讯请示 ① 在第一个 CPU 中调用通讯请示,插足 “面目树” > “ PLC_1” > “要领块” > “OB1” 主要领中,从右侧窗口 “请示” > “通讯” > “通达式用户通讯”下调用 “TCON” 请示,创建相接,如图5所示。图5. 调用“TCON”通讯请示
② 点击“运行组态”按钮(如图5中红色方框所示),分拨相接参数,在伙伴“端点”的下拉菜单中选拔伙伴为“PLC_2”,在土产货“相接数据”的下拉菜单中选拔“新建”,如图6所示:
图6. 分拨相接参数
③ 界说PLC_1的 “TCON”相接参数
PLC_1 的 TCON 请示的相接参数需要在请示下方的属性窗口“属性”> “组态”>“相接参数”中设立,不异使用“新建”,创建伙伴方的“相接数据”,"PLC_2_Connection_DB",如图7所示。
图7. 界说 TCON 相接参数
相接参数证实:
端点 相接类型 相接ID 相接数据 主动相接设立 地址详备信息④ 组态完成后 “TCON” 请示如图8所示。
图8 “TCON”通讯请示
2.界说 PLC_1 的“TSEND”发送通讯块接口参数 ① 调用 “TSEND” 在OB1内调用 发送100个字节数据到PLC2中插足 “面目树” > “ PLC_1” > “要领块” > “OB1” 主要领中,从右侧窗口 “请示” > “通讯” > “通达式用户通讯”下调用 “TSEND” 请示,如图9所示。
图9. 调用 TSEND
② 创建并界说PLC_1的发送数据区 DB 块。
通过“面目树”>“PLC_1”>“要领块”>“添加新块”,选拔“数据块” 创建 DB 块,在DB块的“属性->旧例->属性”中,取消勾选“优化的块拜谒”,点击“深信”键,界说发送数据区为 100个字节的数组,如图10及图11所示。
图10. 创建发送数据区 DB 块
注目:关于双边编程通讯的 CPU ,要是通讯数据区使用 DB 块,既不错将 DB 块界说成符号寻址,也不错界说成十足寻址。使用指针寻址式样,必须创建十足寻址的 DB 块。
图11. 界说发送数据区为字节类型的数组
③ 界说 PLC_1 的“TSEND”发送通讯块接口参数,如图12所示。
图12. 界说 TSEND 接口参数
参数证实:
输入接口参数:
输出接口参数:
3.在 PLC_1 的OB1中调用领受请示T_RCV 并设置基本参数 为了完毕 PLC_1 领受来自 PLC_2 的数据,则在 PLC_1 中调用领受请示T_RCV 并设置基本参数。① 创建并界说PLC_1的领受数据区 DB 块。
通过“面目树”>“PLC_1”>“要领块”>“添加新块”,选拔“数据块” 创建 DB 块,在DB块的“属性->旧例->属性”中,取消勾选“优化的块拜谒”,点击“深信”键,界说领受数据区为 100个字节的数组,如图13及图14所示。
图13. 创建领受数据区 DB 块
注目:关于双边编程通讯的 CPU ,要是通讯数据区使用 DB 块,既不错将 DB 块界说成符号寻址,也不错界说成十足寻址。使用指针寻址式样,必须创建十足寻址的 DB 块。
图14. 界说领受数据区为字节类型的数组
② 调用 “TRCV” 在OB1内调用
插足 “面目树” > “ PLC_1” > “要领块” > “OB1” 主要领中,从右侧窗口 “请示” > “通讯” > “通达式用户通讯”下调用 “TRCV” 请示,设置接口参数,如图15所示。
图15. 调用 TRCV 请示并设置接口参数
参数证实:
输入接口参数:
输出接口参数:
注目:ADHOC设立为 TRUE 不错领受变长数据。
1.3 在 PLC_2 中调用并设置“TCON”、“TSEND”、“TRCV” 通讯请示 1.在 PLC_2 的 OB1 中调用“TCON” 通讯请示 ① 在第一个 CPU 中调用通讯请示,插足 “面目树” > “ PLC_2” > “要领块” > “OB1” 主要领中,从右侧窗口 “请示” > “通讯” > “通达式用户通讯”下调用 “TCON” 请示,创建相接,如图16所示。图16. 调用“TCON”通讯请示
② 点击“运行组态”按钮(如图16中红色方框所示),分拨相接参数,在伙伴“端点”的下拉菜单中选拔伙伴为“PLC_1”,在土产货“相接数据”的下拉菜单中选拔如故开发的相接数据“PLC_2_Connection_DB”。如图17所示:
图17. 分拨相接参数
③ 界说 PLC_2的 相接参数 “TCON”
PLC_2 的 TCON 请示的相接参数需要在请示下方的属性窗口“属性”> “组态”>“相接参数”中设立,在伙伴“相接数据”的下拉菜单中选拔如故开发的相接数据“PLC_1_Connection_DB”,如图18所示。
图18. 界说 TCON 相接参数
相接参数证实:
端点 相接类型 相接ID 相接数据 主动开发相接 地址详备信息④ 组态完成后 “TCON” 请示如图19所示。
图19 “TCON”通讯请示
乱伦文学 2. 在 PLC_2 中在OB1调用“TRCV”通讯请示领受从PLC_1 发送到 PLC_2的100个字节数据
① 创建并界说领受数据区 DB 块。
通过“面目树”>“ PLC_2”>“要领块”>“添加新块” ,选拔 “数据块”创建 DB 块,在DB块的“属性->旧例->属性”中,取消勾选“优化的块拜谒”,点击“深信”键界说领受数据区为 100 个字节的数组,图20及图21所示。
图20. 创建领受数据区 DB 块
图21. 界说领受区为 100 个字节的数组
② 界说调用 “TRCV” 要领
图22. TRCV 块参数设置
参数设置:
输入接口参数:
输出接口参数:
3. 在 PLC_2 中调用并设置“TSEND”通讯请示PLC_2 将 发送100个字节数据 到 PLC_1 中,奈何创建发送数据块DB3,与创建领受数据块设施相通,不再胪陈。在 PLC_2 中调用发送请示并设置块参数,发送请示与领受请示使用归拢个相接,如图23所示。
图23. 调用TSEND 请示并设置块接口参数
参数证实:
输入接口参数:
输出接口参数:
1.4 下载硬件组态及要领并监控通讯着力下载两个 CPU 中的整个硬件组态及要领,从监控表中不错看到,PLC_1 的 TSEND 请示发送数据:“1”,“2”,“3”,“4”,“5”,“6”,PLC_2 领受到数据:“1”,“2”,“3”,“4”,“5”,“6”。而 PLC_2 发送数据“7”,“8”,“9”,“10”,“11”,“12”,PLC_1领受数据是“7”,“8”,“9”,“10”,“11”,“12”,如图24所示。
图24. PLC_1 及 PLC_2 的监控表
二. 第二种情况(不在归拢面目中操作)使用 STEP 7 V16 不在一个面目中,新建两个S7-1200站点,然后作念 TCP 通讯。
2.1 通讯的编程,相接参数及通讯参数的设置 1. 翻开 STEP7 V16 软件并新建面目在 STEP7 V16 的 “Portal 视图” 中选拔 “创建新面目” 创建一个新面目
2. 添加硬件并定名PLC然后插足 “面目视图”,在“面目树” 下双击 “添加新开荒”,在对话框中选拔所使用的S7-1200 CPU添加到机架上,定名为 PLC_1,如图25所示。
不异设施,再次翻开STEP7 V16,新建另一个面目并添加通讯伙伴的S7-1200 CPU ,定名为 PLC_2。
图25. 添加新开荒
为了编程精真金不怕火,使用 CPU 属性中界说的时钟位,界说设施如下:
在 “面目树” > “PLC_1” > “开荒组态” 中,选中 CPU ,然后不才面的属性窗口中,“属性” > “系统和时钟存储器” 下,将系统位界说在MB1,时钟位界说在MB0,如图26所示。
时钟位咱们主要使用 M0.3,它所以2Hz 的速度在0和1之间切换的一个位,不错使用它去自动激活发送任务。
图26. 系统位与时钟位
3. 为 PROFINET 通讯口分拨以太网地址在 “开荒视图”中点击 CPU 上代表PROFINET 通讯口的绿色小方块,不才方会出现PROFINET 接口的属性,在 “以太网地址” 下分拨IP 地址为 192.168.0.1 ,子网掩码为255.255.255.0,点击“添加新子网”,加多子网“PN/IE_1”,如图27所示。
图27. 分拨IP 地址
不异设施,在另一个面目里添加另一个新开荒S7-1200 CPU 并为其分拨 IP 地址为192.168.0.2
2.2 在 PLC_1 中调用并设置“TCON”、“TSEND”、“TRCV” 通讯请示 1.在 PLC_1 的 OB1 中调用“TCON” 通讯请示 ① 在第一个 CPU 中调用通讯请示,插足 “面目树” > “ PLC_1” > “要领块” > “OB1” 主要领中,从右侧窗口 “请示” > “通讯” > “通达式用户通讯”下调用 “TCON” 请示,创建相接,如图28所示。图28. 调用“TCON”通讯请示
② 点击“运行组态”按钮(如图28中红色方框所示),分拨相接参数,由于PLC_2是在不同面目中,因此伙伴方“端点”选拔“未指定”,在土产货“相接数据”的下拉菜单中选拔“新建”。如图29所示:
图29. 分拨相接参数
③ 界说PLC_1的 “TCON”相接参数
PLC_1 的 TCON 请示的相接参数需要在请示下方的属性窗口“属性”> “组态”>“相接参数”中设立,设立伙伴方的IP地址为“192.168.0.2”,如图30所示。
图30. 界说 TCON 相接参数
相接参数证实:
端点 相接类型 相接ID 相接数据 主动相接设立 地址详备信息④ 组态完成后 “TCON” 请示如图31所示。
图31 “TCON”通讯请示
2.界说 PLC_1 的“TSEND”发送通讯块接口参数 ① 调用 “TSEND” 在OB1内调用 发送100个字节数据到PLC2中插足 “面目树” > “ PLC_1” > “要领块” > “OB1” 主要领中,从右侧窗口 “请示” > “通讯” > “通达式用户通讯”下调用 “TSEND” 请示,如图32所示。
图32. 调用 TSEND
② 创建并界说PLC_1的发送数据区 DB 块。
通过“面目树”>“PLC_1”>“要领块”>“添加新块”,选拔“数据块” 创建 DB 块,在DB块的“属性->旧例->属性”中,取消勾选“优化的块拜谒”,点击“深信”键,界说发送数据区为 100个字节的数组,如图33及图34所示。
图33. 创建发送数据区 DB 块
注目:关于双边编程通讯的 CPU ,要是通讯数据区使用 DB 块,既不错将 DB 块界说成符号寻址,也不错界说成十足寻址。使用指针寻址式样,必须创建十足寻址的 DB 块。
图34. 界说发送数据区为字节类型的数组
③ 界说 PLC_1 的“TSEND”发送通讯块接口参数,如图35所示。
图35. 界说 TSEND 接口参数
参数证实:
输入接口参数:
输出接口参数:
3.在 PLC_1 的OB1中调用领受请示T_RCV 并设置基本参数 为了完毕 PLC_1 领受来自 PLC_2 的数据,则在 PLC_1 中调用领受请示T_RCV 并设置基本参数。① 创建并界说PLC_1的领受数据区 DB 块。
通过“面目树”>“PLC_1”>“要领块”>“添加新块”,选拔“数据块” 创建 DB 块,在DB块的“属性->旧例->属性”中,取消勾选“优化的块拜谒”,点击“深信”键,界说领受数据区为 100个字节的数组,如图36及图37所示。
图36. 创建领受数据区 DB 块
注目:关于双边编程通讯的 CPU ,要是通讯数据区使用 DB 块,既不错将 DB 块界说成符号寻址,也不错界说成十足寻址。使用指针寻址式样,必须创建十足寻址的 DB 块。
图37. 界说领受数据区为字节类型的数组
② 调用 “TRCV” 在OB1内调用
插足 “面目树” > “ PLC_1” > “要领块” > “OB1” 主要领中,从右侧窗口 “请示” > “通讯” > “通达式用户通讯”下调用 “TRCV” 请示,设置接口参数,如图38所示。
图38. 调用 TRCV 请示并设置接口参数
参数证实:
输入接口参数:
输出接口参数:
注目:ADHOC设立为 TRUE 不错领受变长数据。
2.3 在 PLC_2 中调用并设置“TCON”、“TSEND”、“TRCV” 通讯请示 1.在 PLC_2 的 OB1 中调用“TCON” 通讯请示 ① 在第一个 CPU 中调用通讯请示,插足 “面目树” > “ PLC_2” > “要领块” > “OB1” 主要领中,从右侧窗口 “请示” > “通讯” > “通达式用户通讯”下调用 “TCON” 请示,创建相接,如图39所示。图39. 调用“TCON”通讯请示
② 点击“运行组态”按钮(如图39中红色方框所示),分拨相接参数,由于PLC_1是在不同面目中,因此伙伴方“端点”选拔“未指定”,在土产货“相接数据”的下拉菜单中选拔“新建”。如图40所示:
图40. 分拨相接参数
③ 界说 PLC_2 的 相接参数 “TCON”
PLC_2 的 TCON 请示的相接参数需要在请示下方的属性窗口“属性”> “组态”>“相接参数”中设立,设立伙伴方的IP地址为“192.168.0.1”,如图41所示。
图41. 界说 TCON 相接参数
相接参数证实:
端点 相接类型 相接ID 相接数据 主动开发相接 地址详备信息④ 组态完成后 “TCON” 请示如图42所示。
图42 “TCON”通讯请示
2. 在 PLC_2 中在OB1调用“TRCV”通讯请示领受从PLC_1 发送到 PLC_2的100个字节数据
① 创建并界说领受数据区 DB 块。
通过“面目树”>“ PLC_2”>“要领块”>“添加新块” ,选拔 “数据块”创建 DB 块,在DB块的“属性->旧例->属性”中,取消勾选“优化的块拜谒”,点击“深信”键界说领受数据区为 100 个字节的数组,图43及图44所示。
图43. 创建领受数据区 DB 块
图44. 界说领受区为 100 个字节的数组
② 界说调用 “TRCV” 要领
图45. TRCV 块参数设置
参数设置: 输入接口参数:
输出接口参数:
3. 在 PLC_2 中调用并设置“TSEND”通讯请示PLC_2 将 发送100个字节数据 到 PLC_1 中,奈何创建发送数据块DB3,与创建领受数据块设施相通,不再胪陈。在 PLC_2 中调用发送请示并设置块参数,发送请示与领受请示使用归拢个相接,如图46所示。
图46. 调用TSEND 请示并设置块接口参数
参数证实:
输入接口参数:
输出接口参数:
2.4 下载硬件组态及要领并监控通讯着力下载两个 CPU 中的整个硬件组态及要领,从监控表中不错看到,PLC_1 的 TSEND 请示发送数据:“1”,“2”,“3”,“4”,“5”,“6”,PLC_2 领受到数据:“1”,“2”,“3”,“4”,“5”,“6”。而 PLC_2 发送数据“7”,“8”,“9”,“10”,“11”,“12”,PLC_1领受数据是“7”,“8”,“9”,“10”,“11”,“12”,如图47所示。
图47. PLC_1 及 PLC_2 的监控表哥也色中文娱乐地址