案例:厦门海为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模拟量程序编写:使用LD指令创建梯形图程序,并根据实际应用设置模拟量模块的通道、量程和滤波器参数。对于输入模拟量,使用RTO指令读取通道值并将其映...
海为PLC好用吗?
好用海为PLC是一款通用型高性价比的小型可编程性逻辑控制器,产品广泛应用于塑料、包装、纺织、食品、医疗、制药、环保、市政、印刷、建材、电梯、中央空调、...
海为plc怎么解密?
海为PLC是一种专用的可编程逻辑控制器,解密它需要进行逆向工程和分析其硬件和软件结构。首先,需要获取PLC的固件或固件升级文件,并使用逆向工程工具对其进行...
海为plc与变频器通讯怎么写频率?
1、你可以通过通讯的方式去读取变频器的当前运行频率。2、一般变频器都会有一个模拟量的输出,例如富士的变频器有FMA端子,通过内部参数设定可以让频率通过...
海为plc怎么和触摸屏联机?
首先确认触摸屏和PLC设备的通讯口,一般有RS232、RS485、以及以太网等通讯接口。确定接口类型后,需要相应的通讯线缆。在触摸屏上设置PLC设备的通讯参数,包括...
怎么自学plc?
最好是选一个品牌的PLC,结合视频教程和产品资料学习使用编程软件,推荐一款国产海为PLC,软件自带仿真器和几十个程序例子,简单易学,很适合初学者。最好是选一...
PLC程序加密了能上传电脑吗?
先下载并安装相应的PLC编程软件,然后用数据线连接电脑与PLC,给PLC上电,打开编程软件,确保PLC已经连接好,找到上传功能,点击,就把PLC的程序上传到电脑里了...
学习plc用哪个软件比较简单,如何下载?
各种品牌的PLC与其编程软件各有千秋,不同的PLC编程软件是不能通用的,比如日系的PLC编程软件只能用在及其品牌的PLC上应用,像三菱的GXWORKS2编程软件只能用在FX...
plc编程里面有接线端子怎么外部还要接外端继电端子台如何接线?
科技引领生活,爱科技的小青年带你在科技的海洋里无限遨游……PLC的应用已经很广泛了,多用于工业生产控制,很多初学者,看到老前辈配出来的柜子都会问一个问题...
plc有mega吗?
(可编程逻辑控制器)市场上有许多不同的品牌和型号。其中,Mega是一种常见的PLC品牌之一。MegaPLC提供了广泛的功能和性能,适用于各种工业自动化应用...是的,P...