一、前提准备
1、欧姆龙PLC支持FinsTcp。欧姆龙系列大部分支持
2、西门子1200/1500系列
3:软件 欧姆龙CX-ONE与 西门子博图
二、基于TCP IP开发(软件调试)
1、系统概述
系统概述,硬件搭建和接线
本案例中 CJ1W-ETN21 模块 IP 地址为 10.110.59.33;计算机 IP 地址为 10.110.59.192。
2、上位编写Fins/TCP命令,具体格式如下:
即: 46494E53 0000000C 00000000 00000000 000000C0(C0=192 计算机节点 号)
3、使用0101代码读取D0 D1数据,完整命令如下:
46494E53 0000001A(发送字节数) 00000002 00000000 800002 002100 00C000 00
101(读代码)
82(DM地址)
000000(D0)
0002(2个数据)
0101 指令说明如下:
4、使用0102代码写D100数据,完整命令如下:
46494E53 0000001C(发送字节数) 00000002 00000000 800002 002100 00C000 00
0102(写代码)
82(DM地址)
006400(D100)
0001(写一个数据)
1234
0102 代码格式说明如下:
三、现象与结论
1、TCP IP调试助手建立连接
2、发送16进制握手命令回复如下
说明反馈正确,此时ETN21模块TCP灯亮。
3、使用0101代码读取D0 D1数据,完整命令如下:
46494E530000001A000000020000000080000200210000C000000101820000000002
反馈如下:
即46494E530000001A0000000200000000(FINS/TCP 头代码) C00002 00C000(计算机节点) 002100(PLC 节点) 00 0101(读数据)0000 (正常反馈) 1122 3344(数据)。
PLC 内存数据如下:
4、使用0102写D100数据,完整命令如下: 46494E530000001C000000020000000080000200210000C000000102820064000001 1234接收到的反馈如下:
即46494E530000001A0000000200000000(FINS/TCP 头代码) C00002 00C000(计算机节点) 002100(PLC节点) 00 0102(写命令) 0000 (正常结束)
PLC 内存数据如下:
5、注意事项:
(1) FINS/TCP 命令每次通讯前必须先进行握手,完成后即可不断发送FINS命令, 如果发送顺序不对,TCP灯会熄灭,需要重新进行握手。
(2) 使用软件发送代码时,中间不能加空格,否则会导致反馈不正常。
(3) 在没有建立过路由表的情况下,网络号都为0。
四、实物PLC测试
1:PLC型号
1.1:欧姆龙PLC型号
1.2:欧姆龙IP地址设置(注意NX系列端只有端口2支持FinsTCP)
1.3:西门子型号
1.4:西门子IP地址设置
2:程序编写
2.1:欧姆龙创建变量即可,无需编写程序
2.2:西门子程序编写
16#28:对应欧姆龙PLC IP地址
12#0A:对应西门子PLC IP 地址
16#82:标识读写D区域地址
9100:读地址D9100
50:读取字长度
9000:写地址D9000
50:写入字长度
AutoW_R:开启后即通讯开始
2.3:程序部分截图(采用易懂方式编程,方便后续更改)
2.4:开启通讯验证结果
D9100写入变量值。西门子接收数据块实时更新
西门子发送数据块写入值
2.5:本案例中D9100 使用计数器+1
即
2.6:谢谢大家的观看。
标签:欧姆龙,代码,西门子,1200,TCP,如下,PLC From: https://blog.csdn.net/zk123456776/article/details/143524687