案例:厦门海为PLC与S7-200PLC是如何进行MODBUS通讯的?
有道是:知道很多道理,为什么还过不好这一生?因为道理光知道没有用,我们必须知道,得到,做到。现在,就让我们从当下最小行动开始吧!!!
学习PLC编程更多是一个手上功夫,需要长期坚持。
爱学习的你,可以亲自动手操作一遍本案例。
下面,我们依次按照几个关键步骤 进行探讨:
1 功能要求:
现有两台PLC,厦门海为T16S2T 模块和CPU224 XP模块,T16S2T模块做为MODBUS主站,CPU224XP模块作为MODBUS 从站,从站地址10,通讯速率9600,无效验,
主站采用COM2端口与从站PORT0端口通信。
读写多个保持寄存器:
主站从V300--V304连续写入5个整型数到保持寄存器地址40001---40005
主站从保持寄存器地址40010---40014读回这连续的5个整型数到V400--V404
读写多个线圈:
主站从X10--X25连续写入16个开关量数据到线圈地址00000---00015,并触发CPU224 XP模块的QW0输出。
主站从线圈地址10016---10031读回这连续的16个开关量到Y10--Y25.
2 分析需求 :
按下开关X0,主站向从站写5个整型数据,
按下开关X1,主站向从站读取之前写的5个整型数据。
按下开关X3,主站向从站写16个开关量数据,
按下开关X4,主站向从站读取之前写的16个开关量数据。
当主站向从站读取或者写入数据出错时,分别亮灯Y0--Y3指示。
按下开关X2,复位所有报错,
3 IO点表 :
4 硬件配置:
根据以上IO点表,我们先暂时不考虑供电方面的情况下,同时也暂时不考虑通道富余量,如果按照S7-200PLC选择模块硬件,
可以选择1块CPU224XP模块(自带14DI/10DO,2AI/1AO,2个通讯端口)和1块厦门海为 T16S2T模块(自带8DI/8DO,2个串行通讯端口,1个以太网口) 即可满足上表点数要求。
5 编辑符号表:
PLC程序:
以下是以梯形图编写的部分PLC程序:
注: 要查看更多程序内容,请打开以下视频 浏览。
视频加载中...
7 结论:
本案例采用1台西门子S7-200 PLC模块和1台厦门海为PLC模块,主要使用常开常闭触点指令,计时器指令,数据传送指令,填充指令,MODBUS通讯读写指令,采用调用子程序,实现两台PLC之间进行MODBUS主从通讯。
在做本案例时,容易踏6个大坑:
(1)采用海为CPU集成的通讯端口COM2,此端口可以作为RS232或者RS485口使用,二选一,注意对应端口功能。
(2) 在使用海为MODW和MODR 通讯指令与第三方设备进行MODBUS通讯时,功能码 需要和读写数据区地址长度相匹配,否则,编译通不过。
(3)从站一端初始化通讯指令前的站地址为从站地址,不是主站地址 。
(4)CPU模块作为MODBUS通讯端口在运行模式时,不能与MICRO/WIN软件进行通信连接,此时,可以将CPU拨码开关来选择到停止或者测试位置方可连机 。
(5)在S7-200PLC中,分配给MODBUS通讯的地址区不能被其它程序占用。
(6)在进行MODBUS通讯时,注意读写数据区MODBUS地址的对应关系。
本节关键词:
主站: 同一条MODBUS通讯网络上,只有一个主站。
从站: 同一条MODBUS通讯网络上,可以有多个从站。
主站向从站发送请求命令,从站响应执行命令,反过来,从站不能向主站发命令。
功能码: 按照MODBUS规约,主站在与从站通讯时,需要采用不同的功能读写对应的数据区。如下表所示:
爱学习PLC的你,踏过此坑吗?欢迎后台留言一起讨论学习哟。
测试西门子WINCC V74 与 海为PLC进行MODBUS TCP通讯
有道是:知道很多道理,为什么还过不好这一生?因为道理光知道没有用,我们必须知道,得到,做到。现在,就让我们从当下最小行动开始吧!!!
学习PLC编程更多是一个手上功夫,需要长期坚持。
爱学习的你,可以亲自动手操作一遍本案例。
下面,我们依次按照几个关键步骤 进行探讨:
1 功能要求:
前几天有一个朋友问到,厦门海为PLC如何与西门子WINCC软件进行通讯?我询问厦门海为PLC厂家技术工程师,被告知没有测试过。
那么,我们是否可以使用MODBUS TCP协议测试一下二者之间的通信呢?
2 分析需求 :
因为海为PLC与西门子WINCC软件分别属于两个厂家的下位机硬件和上位机软件,要完成它们之间的通讯,需要找到它们共同支持的通信协议,查看WINCC驱动库里,只有一个MODBUS TCP协议适合,
早期WINCC版本支持的MODBUS串口通信协议在新版本中已被去掉,此路行不通。
软件需求:
2.1 海为PLC编程软件 HaiwellHappy
2.2 虚拟机操作系统 WIN7 旗舰版
2.3 西门子WINCC V7.4组态软件,开发版
3 IO点表 :
无
4 硬件配置:
4.1 海为CPU 模块 T16S2T (220VAC供电,自带以太网口)1块
4.2 2P6A 空气开关1只
4.3 笔记本电脑 1台
4.4 直连以太网线 1根
4.5 两芯供电电缆 2根
5 编辑符号表:
无。
PLC程序:
以下是以梯形图编写的部分PLC程序:
注: 要查看更多程序内容,请打开以下视频 浏览。
视频加载中...
7 结论:
本案例采用1台厦门海为T16S2T PLC模块 ,主要使用常开触点指令,数据传送指令,实现厦门海为PLC 与 西门子WINCC V7.4进行MODBUS TCP通讯。
在做本案例时,容易踏5个大坑:
(1) 海为PLC的 MODBUS地址数值,需要对应通讯地址表进行+1偏移 。
(2) 海为PLC的默认设备ID号为1。
(3)在WINCC中选择MODBUS TCP/IP驱动下的984或者COMPACT ,不能选择Premuim。
(4)在WINCC中创建变量时,注意X,Y,M区地址需要选择0X,而AI,AQ,V区需要选择4X。
(5)V区对应的32位浮点数不能直接在WINCC中读取数值,需要在WINCC中做乘除法处理。
本节关键词:
MODBUS TCP: 一种现场以太网通讯总线协议,与MODBUS RTU,MODBUS ASSCII通讯协议在读写地址时具有通用性,前者通讯介质采用超五类或者超六类通讯电缆,后者采用屏蔽双绞电缆。
爱学习PLC的你,踏过此坑吗?欢迎后台留言一起讨论学习哟。
相关问答
海为plc模拟量编程实例?
以下是一个简单的PLC模拟量编程实例,该例程使用海为(Haiwell)PLC编程软件工具(如HaiwellHMIStudio)进行编写:1.首先,创建一个新的PLC项目,并选择合适的...
海为plc模拟量程序怎么写?
海为PLC模拟量程序编写:使用LD指令创建梯形图程序,并根据实际应用设置模拟量模块的通道、量程和滤波器参数。对于输入模拟量,使用RTO指令读取通道值并将其映...
海为plc如何?有什么特点?
总的来说,海为PLC在国产品牌里口碑还是不错的。海为plc最大的特点是简单易用,通讯能力强,一般通讯只需一条指令,模拟量强大,模拟量引用无需编程,而且软件自...
海为plc接线方法?
海为PLC接线方法如下:1.断开电源并检查设备和连接电缆的准确性。2.将电缆的连接线缆标记与PLC的接线端子标记定位匹配,以确保正确连接。3.连接电源。将...
PLC程序加密了能上传电脑吗?
先下载并安装相应的PLC编程软件,然后用数据线连接电脑与PLC,给PLC上电,打开编程软件,确保PLC已经连接好,找到上传功能,点击,就把PLC的程序上传到电脑里了...
海为plc接线端子说明?
海为plc接线端子的说明1信号线接负极,公共端接正极并配有保险(熔断器)或热保护器。2输出信号最好配备独立电源。(如有AI模块也如此)3远程接线(大于200米...
海为plc怎么解密?
海为PLC是一种专用的可编程逻辑控制器,解密它需要进行逆向工程和分析其硬件和软件结构。首先,需要获取PLC的固件或固件升级文件,并使用逆向工程工具对其进行...
怎么自学plc?
最好是选一个品牌的PLC,结合视频教程和产品资料学习使用编程软件,推荐一款国产海为PLC,软件自带仿真器和几十个程序例子,简单易学,很适合初学者。最好是选一...
麻烦诸位老铁有没有海为国产PLC的优点有哪些?国产plcsmar...
[回答]1)通讯方便:每个主机或模块都有通讯口(组网监控方便),通讯程序简单(一条指令完成)。2)模拟量不用抄编程:只要在硬件配置中选择即可,简少了程序编程...
国产plc兼容西门子的品牌有哪些?国产plc品牌哪家做得好都来说说
[回答]牌子很多很多,伺服日本品牌有松下、安川、三菱、发那克、日立、富士、OMRON等。欧美洲有西门子、伦茨、施耐德等,还有丹纳赫、海德汉、力士乐等等等...