西门子6ES7216-2AD23-0XB8

供应商
浔之漫智控技术(上海)有限公司
认证
品牌
西门子
型号
模块
产地
德国
联系电话
158****1992
全国服务热线
158****1992
经理
聂聪
所在地
上海市松江区广富林路4855弄88号3楼
更新时间
2023-10-26 04:00

详细介绍

        s7-1200 设计紧凑、组态灵活,tia在库函数中嵌套了modbus-rtu 和modbus-tcp功能库,在做数据采集的项目中是非常好用的。

做过一个换热站设备运行监测的项目,需采集管网一次侧和二次侧的供水压力、温度以及abb变频器的工作状态。现场各类变送器已经接到了原有的智能仪表上,因此采用1200plc通过modbus-rtu 与现场智能仪表和变频器通信是比较经济的方案,并且可通过modbus-tcp与远程上位机通信。

智能仪表及变频器作为从站,只需在设定中选择modbus-rtu通信协议并且为设备分配不重复的站地址即可。1200plc作为主站必须配备rs485通信模块,其通信的基本原理是:首先程序开始运行时,调用一次modbus库中的功能块mb_comm_load来组态rs485模块上的端口;其次调用库中的功能块mb_master作为modbus主站与设备进行通信。

1200plc作为主站通信是由data_addr(从站中的起始modbus地址)和mode(读、写、诊断模式)参数一起确定实际modbus消息中使用的功能代码。data_ptr(数据指针)指向要写入或读取的数据的cpudb地址,该db必须为“非仅符号访问”db类型。在tia v12以上平台中,将该db属性中的“优化的块访问”选项取消。

plc主站发送带有站地址标识的数据来寻址不同的从站,同时不同的从站通过响应带有站地址标识的数据给主站,以完成整个通信过程。这种轮询通信,可以根据发送和接收完成的标志来完成,也可以以固定的时间间隔进行轮询,实际应用时需要考虑cpu的性能以及轮循modbus子站时间。程序编好后先用modbus调试工具测试一下,正常后再开始接线。

在接线时遇到一个小插曲:plc及变频器的485接线端子b为正,a为负,很多厂家仪表的485接线端子是a为正,b为负,一开始通信始终不正常,当查看仪表说明书时才发现。

项目中我使用的是modbus-tcp通过plc上pn接口与上位机进行通信,modbus-tcp使用开放式用户通信连接作为modbus通信路径。在s7-1200plc的库函数中嵌套了modbus-tcp功能块库,它包含了server 和client的库函数, 编程时可以直接调用该库函数可实现与上位机的modbus-tcp通信。

在该系统应用中s7-1200 plc作为 modbus tcp server (服务器),调用“mb_server”指令处理modbus-tcp客户机的连接请求、接收modbus功能的请求并发送响应,设置连接id、ip端口等参数,使用起来比较简单。

s7-1200plc作为网络的服务器端,上位机可以按需建立连接访问plc的数据区,这样在上位机对多个换热站的plc连接中不会占用太多的资源。前提是plc必需要有固定的ip才行,如果是动态拨号连接上位机,plc端就需要作为客户端,通过修改mode管脚的值改变发送或接收状态,按照主机的请求来按需向主机发送数据或主动接收主机的改写数据就比较麻烦了。

这是我在modbus通信协议项目应用中的一点小体会,一些观点或许过于幼稚,望各位同行多我指正,仅以此文起到抛砖引玉的作用。

硬件:西门子cpu224cn(6es7214-1bd23-0xb8);台达dvp14ss211r(v3.02a2)
软件:pc系统microsoft windows xp professional sp3
台达编程软件wplsoft 2.38
西门子200编程软件v4.0 step 7 microwin sp9
modbus是公开的通信协议,支持单主站的主/从通信模式,通信简单易用,很多厂商的产品都支持。西门子200cn系列机之间使用的ppi网络,台达dvpss/es/eh小型系列机之间使用的plc-link网络,三菱fx系列小型机之间使用的n:n网络……以上各家通讯虽然称呼不同,但都是建立在rs485传输基础上符合基本modbus通讯协议,可见modbus通讯还是蛮有群众基础的。^_^
同品牌plc采用厂家提供的通讯方式组网简单易用,相信大家对于以上提到的诸如ppi网络、plc-link网络、n:n网络耳熟能详,使用起来轻车熟路。那么如果不同品牌plc之间通讯,将又如何连接呢?例如一台西门子cpu224cn与一台台达dvp14ss211r之间通过modbus通讯连接。
cpu224cn和dvp14ss211r均提供有支持modbus标准协议的rs485通讯口,前面说过modbus是公开的通信协议,所以我们有望将两者连接起来通讯。
1、硬件连接
西门子200cn通讯口定义如下:


图1
台达dvp14ss211r的rs485通讯口com2提供的是一个简单的2位插针式接线端子。
通讯硬件连接只需要将西门子9针接口的3、8对应连接到台达2位插针式接线端子(rs485口)的+、-上。
2、软件编程
连接好硬件后接下来就要规划逻辑程序了。不妨使用224cn作主站,dvp14ss211r作从站(1#),当224cn读到1#从站x0为1时,输出q0.0=1;当224cn接收到自身i0.0信号时,dvp14ss211r的输出y0=1,即从站的输入x0状态决定主站输出q0.0状态,主站输入i0.0状态决定从站输出y0状态。
主站224cn程序:


图2


图3
从站(1#)dvp14ss211r的程序:


图4
3、注意事项
1.对于从站台达plc来说,不存在数据交换逻辑处理问题,仅仅需要plc上电第一个扫描周期完成com2通讯口初始化。即设置com2通讯口的通讯参数:波特率:9600bps,数据长:8位,校验:无校验,停止位:2;设置com2口站号(通讯地址);设置modbus模式(rtu模式);并且运行期间保持这些参数不被更新。这个工作熟悉台达编程参看一下图4很容易理解。
2.通讯双方必须设置相同的通讯参数才能握手交换数据,对于主站西门子224cn来说,也应该在上电工作首个扫描周期完成port0通讯端口的初始化工作。注意西门子通讯口初始化需要程序设置完成1.改变通讯口支持modbus协议(因为西门子默认状态通讯口支持ppi协议);2.设置波特率:9600bps;设置校验:无校验;3.由于是主站,还需要设置一个通讯超时时间;4.对于停止位与数据长度这里不需要设置,使用2位停止位、8位长度即可。参见图2网络2
3.图2网络3主站每秒读一次从站x0的状态,实质起了一个建立起通讯连接的作用。
4.主站与从站建立起通讯连接后图2网络4触发读从站x0状态工作。
5.完成读从站x0状态工作后图3网络6触发写从站y0状态工作。
6.完成写从站y0状态工作后图3网络8又触发开始读从站x0状态工作,这样随着plc扫描周而复始不断执行对从站读x0状态以及写y0状态的工作。
7.图3网络9与10完成读写状态的逻辑。
4、参考资料
1.台达plc编程手册中有关dvp系列plc装置通讯地址。
2.西门子 s7-200 · logo! · sitop 参考beta version 1.3。
3.以上资料在各自****均提供有下载。


PLC,CPU,触摸屏,变频器,交换机,电机,电线,电缆,低压,

展开全文

我们其他产品
我们的新闻
优质商家推荐 拨打电话