西门子S7-1500与电子秤的Modbus-RTU通讯

合集下载

西门子串口通讯07-Modbus RTU 协议的多站点轮询(CP341,RS485)

西门子串口通讯07-Modbus RTU 协议的多站点轮询(CP341,RS485)

Modbus RTU 协议的多站点轮询(CP341,RS485)1.硬件列表2.组态配置3.编程4.总结12 组态配置1、组态CPU及CP341,如图1将CP341逻辑地址设为256。

图12、设置Modbus总线传输速率和帧字符结构双击CP341->Parameters->Protocol中选择Modbus Master;双击信封Protocol,选择Modbus Master设置总线传输速率和帧字符结构以及,其它从站的设置必须和主站设置一致。

如图,本例传输速率为9.6Kbit/s,帧字符1-8-e-1,即1位起始位,8位数据位,偶校验,1位停止位。

图23、设置电气接口选择半双工RS 485,接收端初始状态按图3设置,各从站的接口电气标准应和主站一致,如图,具体配置步骤请参考手册《CP340/341/440/441通讯及编程》。

图33 编程1、创建发送数据块DB1如图,定义Modbus功能码03的数据格式,更多功能码格式参考手册《以用于PtP CP MODBUS 协议 RTU 格式 S7 的 SIMATIC 可加载驱动程序为主站》图42、创建接收数据DB在此共建立了2个DB(DB4,DB5)分别存放来自两个从站的数据,每个DB分配了一个0~1000个字的整型数组如图。

图53、创建轮询功能块FC1设置指令计数器(MW2),如图,本例中设置为2,即2两条指令。

图6根据指令计数器值构造发送指令并指定接收缓冲区。

如图,指令计数器数值为1,构造的发送指令为访问1号从站,功能码03,起始地址0(对应Modbus地址40001),4个寄存器;接收缓冲区为数据块DB4,起始地址为0。

图7如图,指令计数器数值为2,构造的发送指令为访问2号从站,功能码03,起始地址0(对应Modbus地址40001),4个寄存器;接收缓冲区为数据块DB5,起始地址为2。

图8为了实现数据发送和接收,FC1中还必须调用CP341发送FB8 和接收FB7 功能块。

Modbus RTU 通信连接超时参数

Modbus RTU 通信连接超时参数

Modbus RTU 通信连接超时参数S7-1200 Mobus RTU通信网络中包含多个从站站点时,由于轮询的网络特性,只能同时读或写一个站点数据。

因此有如下因素,会影响到最终整体的轮询时间:1. 通信速率(波特率)设置时间2. 每个站点的通信数据量3. 站点数量4. 通信距离5. 各站点连接时间无论是由于信号干扰,硬件质量引起的从站掉站或是由于工程需要暂时关闭站点,此时都会由于“各站点连接时间”的增加而使通信系统的轮询时间大大延长。

在S7-1200的Modbus RTU通信中,主要有三个参数与“各站点连接时间”的设置相关。

1. 从站响应时间RESP_TO如图1所示,V2.x版本的MB_COMM_LOAD初始化块可设置从站响应时间RESP_TO参数:设置单次连接从站的可响应时间,范围为5ms到65535ms(默认值为1000ms);即如从站在此时间段内未作出响应,则MB_MASTER将在发送指定次数的重试请求后终止请求并提示错误信息80C8。

图1. RESP_TO参数设置注意:如图2所示,Modbus从站的执行频率须至少小于RESP_TO设置的响应时间(需要考虑响应延迟时间),才可以正常通讯。

图2. 从站响应时间2.重试次数RETRIES在初始化功能块MB_COMM_LOAD的背景数据块中,可设置重试次数RETRIES参数:主站在返回无响应错误代码0x80C8 之前的重试次数。

(默认值为2次)注意:此参数表示初次连接无响应后,再次连接的次数;即以默认2次为例,实际尝试连接次数为3次。

图3 RETRIES参数设置注意:在更改RETRIES参数后,需要重新使能MB_COMM_LOAD功能块的REQ管脚,否则更改参数不生效。

3. 主站定时参数Blocked_Proc_Timeout当由于某些原因(如已发出主站请求,但在彻底完成该请求前停止调用主站功能块时),造成Done及Error均没有置1时,需要提供一个定时时间,在时间到达后置位,以便执行下一个功能块或轮询下一个站点。

S7-1200 Modbus RTU 通信概述

S7-1200 Modbus RTU 通信概述

S7-1200 Modbus RTU 通信概述Modbus具有两种串行传输模式:分别为ASCII和RTU。

Modbus是一种单主站的主从通信模式,Modbus网络上只能有一个主站存在,主站在Modbus网络上没有地址,每个从站必须有唯一的地址,从站的地址范围为0 - 247,其中0为广播地址,从站的实际地址范围为1 - 247。

Modbus RTU通信以主从的方式进行数据传输,在传输的过程中Modbus RTU主站是主动方,即主站发送数据请求报文到从站,Modbus RTU从站返回响应报文。

S7-1200以下模块支持Modbus RTU通信:注意:1. 使用通信模块CM 1241 RS232作为Modbus RTU主站时,只能与一个从站通讯。

2. 使用通信模块CM 1241 RS485作为Modbus RTU主站时,则允许建立最多与32 个从站的通讯。

3. 使用通信板CB 1241 RS485时,CPU 固件必须为V2.0 或更高版本,且使用软件必须为STEP 7 Basic V11 或STEP 7 Professional V11 以上更高版本。

S7-1200 Modbus RTU 指令随着TIA PORATL 软件和S7-1200 CPU 固件的不断更新,S7-1200 Modbus RTU 指令也出现了不同的版本。

用户需要根据使用的软件和硬件,正确选择使用符合要求的S7-1200 Modbus RTU 指令来实现Modbus RTU 通信。

软件,硬件要求和指令版本说明如下。

TIA PORTAL 中的S7-1200 Modbus RTU 指令TIA PORTAL 软件中提供了2个版本的Modbus RTU指令。

如下图1 所示:•早期版本的Modbus RTU 指令(图1. 中MODBUS (V2.2))仅可通过CM1241 通信模块或CB1241 通信板进行ModbusRTU 通信。

•新版本的Modbus RTU 指令(图1. 中MODBUS(RTU) V3.0)扩展了Modbus RTU 的功能,该指令除了支持CM1241 通信模块、CB1241 通信板,还支持PROFINET 或PROFIBUS 分布式I/O 机架上的PTP 通信模块实现Modbus RTU 通信。

西门子串口通讯07-Modbus RTU 协议的多站点轮询(CP341,RS485)

西门子串口通讯07-Modbus RTU 协议的多站点轮询(CP341,RS485)

Modbus RTU 协议的多站点轮询(CP341,RS485)1.硬件列表2.组态配置3.编程4.总结12 组态配置1、组态CPU及CP341,如图1将CP341逻辑地址设为256。

图12、设置Modbus总线传输速率和帧字符结构双击CP341->Parameters->Protocol中选择Modbus Master;双击信封Protocol,选择Modbus Master设置总线传输速率和帧字符结构以及,其它从站的设置必须和主站设置一致。

如图,本例传输速率为9.6Kbit/s,帧字符1-8-e-1,即1位起始位,8位数据位,偶校验,1位停止位。

图23、设置电气接口选择半双工RS 485,接收端初始状态按图3设置,各从站的接口电气标准应和主站一致,如图,具体配置步骤请参考手册《CP340/341/440/441通讯及编程》。

图33 编程1、创建发送数据块DB1如图,定义Modbus功能码03的数据格式,更多功能码格式参考手册《以用于PtP CP MODBUS 协议 RTU 格式 S7 的 SIMATIC 可加载驱动程序为主站》图42、创建接收数据DB在此共建立了2个DB(DB4,DB5)分别存放来自两个从站的数据,每个DB分配了一个0~1000个字的整型数组如图。

图53、创建轮询功能块FC1设置指令计数器(MW2),如图,本例中设置为2,即2两条指令。

图6根据指令计数器值构造发送指令并指定接收缓冲区。

如图,指令计数器数值为1,构造的发送指令为访问1号从站,功能码03,起始地址0(对应Modbus地址40001),4个寄存器;接收缓冲区为数据块DB4,起始地址为0。

图7如图,指令计数器数值为2,构造的发送指令为访问2号从站,功能码03,起始地址0(对应Modbus地址40001),4个寄存器;接收缓冲区为数据块DB5,起始地址为2。

图8为了实现数据发送和接收,FC1中还必须调用CP341发送FB8 和接收FB7 功能块。

S7-1500 通过CANopen与RFID通信

S7-1500 通过CANopen与RFID通信

S7-1500 通过CANopen与RFID通信简介本文档介绍了如何使用S7-1500 PLC通过CANopen协议与RFID设备进行通信。

CANopen是一种基于CAN总线的通信协议,用于实现不同设备之间的数据交换。

RFID(Radio Frequency Identification)是一种无线通信技术,用于识别和追踪标签上的信息。

S7-1500与CANopen通信配置1. 首先,确保S7-1500 PLC上安装了适配器模块,用于支持CANopen通信。

2. 连接适配器模块与CAN总线进行通信。

3. 在TIA Portal软件中创建S7-1500的配置,配置适配器模块以及CANopen通信参数。

RFID设备与CANopen通信配置1. 确保RFID设备支持CANopen协议,并具备相应的接口。

2. 连接RFID设备与CAN总线进行通信。

3. 配置RFID设备的CANopen通信参数,设置设备的标识符、数据长度等信息。

S7-1500与RFID通信实现1. 在TIA Portal软件中创建S7-1500的程序,实现与RFID设备的通信逻辑。

2. 使用适配器模块提供的函数块,进行CANopen通信的数据交换。

3. 根据RFID设备的通信协议,发送命令并接收数据。

示例代码下面是一个简单的示例代码片段,演示了S7-1500 PLC如何通过CANopen协议与RFID设备通信。

VARrfidData: ARRAY[0..7] OF BYTE; // 存储从RFID设备读取的数据rfidStatus: BOOL; // RFID设备状态END_VARNETWORK// 读取RFID设备的数据CALL ReadRFIDData(rfidData, rfidStatus);// 处理RFID设备的数据IF rfidStatus THEN// 数据有效,进行相应的操作ELSE// 数据无效,进行错误处理END_IFEND_NETWORK总结通过以上步骤和示例代码,我们可以实现S7-1500 PLC与RFID设备之间的CANopen通信。

Modbus通讯很简单!——手把手教你

Modbus通讯很简单!——手把手教你

Modbus通讯很简单!——⼿把⼿教你主要内容:S7-200 PLC Modbus通讯概述S7-200 PLC Modbus通讯指令S7-200 PLC Modbus通讯常问问题(1)Modbus通讯S7-200的Modbus通讯:S7-200只⽀持Modbus RTU协议,不⽀持Modbus ASCII协议;Modbus是⼀种单主站的主/从通信模式。

⼀条Modbus⽹络上同时只能有⼀台主站,从站可以有若⼲个(如下图所⽰)。

从站的地址范围为1-247;⼀个Modbus通讯的传输字符应包括⼀个起始位,8个数据位,1个或0个校验位(奇偶校验或⽆校验可选择),以及⼀个停⽌位在S7-200 CPU通信⼝上实现的是RS485半双⼯通信,使⽤的是S7-200的⾃由⼝功能。

上图是⼀个典型的主站和从站的⽹络结构,对于Modbus主站⽽⾔可以对从站进⾏读或者写的操作,其中它所⽀持的功能码(FC,Function Code)包括主站左侧表格中所述功能,例如功能码为'01'时表⽰读取单个/多个线圈(DO)状态或功能码为'04'时表⽰读取单个/多个输⼊寄存器(AI)状态。

⽽对于从站,我们只需要把Modbus的标准地址和从站的地址对应关系建⽴好就可以了,S7-200的从站与Modbus标准的对应关系如从站右侧表格所⽰。

表中左侧是Modbus标准地址码,其中1-128对应于S7-200的Q0.0-Q15.7,10001-10128对应于S7-200的I0.0-I15.7,30001-30032对应于AIW0-AIW62,40001-4xxx对应的是S7-200的保持寄存器(V 区),它的范围是T-T+2*(xxxx-1),T表⽰的是V区的起始地址,这⼀点由Modbus从站的指令所决定的。

Modbus的主站指令叫做MBUS_MSG,通过这条指令可以将Modbus的标准报⽂发给从站,例如在上图例⼦当中从站的第⼀个字节是03,表⽰的是从站的地址,FC功能码为03,表⽰的是读取单个/多个保存寄存器,Modbus标准地址是40001,长度是10。

西门子S7-200系列PLC的MODBUS通信功能(一)

西门⼦S7-200系列PLC的MODBUS通信功能(⼀)这段时间经常有学员问有关于S7-200系列PLC的MODBUS通信的问题,所以今天就写⼀遍⽂章,来跟⼤家聊聊S7-200系列PLC的MODBUS的通信功能如何使⽤。

MODBUS通信协议概述:MODBUS协议是⼀个通⽤的协议,在很多智能设备上都⽀持这个通信协议,如变频器,智能温控仪表等都⽀持MODBUS通信协议。

MODBUS通信协议有具有串⾏链路上的MODBUS ASCAII通信和MODBUS RTU通信,也有基于TCP/IP上的 MODBUS TCP通信。

这⾥我们主要介绍基于串⾏链路上的MODBUS RTU的通信。

MODBUS RTU的信息帧格式:Start:起始码,表⽰的是⼀个信息帧的开头,MODBUS RTU通信,使⽤时间来作为信息帧的开头,主要是检测传输线上的空闲的时间,长度为3.5个字符时长,⼀个字符的长度跟数据位,停⽌位、起始位、奇偶校验位,波特率有关。

Address:地址码(⼀个字节),表⽰的是从站的站号,从站站号有从站设备给定或是设置,如变频器,可以在变频器参数中设置变频器的站号。

Function:功能码(⼀个字节),描述对从站的读写操作,是对从站读取数据,还是写⼊数据到从站,常见功能码如下图所⽰:Data:数据区(N个字节),数据区主要有两部分构成,⼀部分称为数据区的地址,⼀部分称为数据区的内容,如需要控制变频器的运⾏,则变频器的运⾏代码称为数据区内容,运⾏代码需要写⼊的地⽅称为数据区地址。

CRC:校验码(2字节),对从站号到数据区的数据进⾏CRC校验,可以参考前⾯⼀篇对于CRC校验程序设计的内容介绍。

End:结束码,与起始码⼀样,也是通过时间进⾏判断。

接下来,我们以西门⼦S7-200SMART系列的PLC与深圳的海普蒙特的变频器为例,来说明使⽤MODBUS的通信⽅式来控制变频器的运⾏,频率的修改,及读取⼀些参数的程序⾸先,我们需要熟悉变频器说明书上所描述的通信的内容,从说明书上显⽰⽀持的功能码为03,06,和16这三种功能码(注意0X10表⽰的是16进制数10):提供的信息帧格式为:例如:运⾏命令控制,地址位⼗六进制数的3200,往地址3200中写⼊不同的代码表⽰不同的控制命令,如下图所⽰根据以上内容,我们可以写出控制变频器运⾏的信息帧的格式,假设变频器的站号设置为1,则可以得出如下图所⽰的信息帧的格式其他的命令的信息帧格式,参考变频器说明书,以相同的⽅式可以写出。

西门子S7-200--MODBUS通信协议和支持MODBUS-RTU协议的电磁流量计、超声波流量计的通信实例

西门子S7_200 MODBUS通信协议和支持MODBUS RTU协议的电磁流量计、超声波流量计的通信实例S7_200系列PLC有一个通信口的也有两个通信口的,这两个口都支持MODBUS通信协议,不过要添加MODBUS库文件(SP6版本的step7 micro/win 软件自带有MODBUS库文件)。

下面根据具体的项目来说明MODBUS的使用:在项目中要采集进水流量的瞬时流量、日累计、月累计、年累计量,流量计本身有4~20mA信号输出和脉冲信号输出,这些输出信号都是瞬时量,只能转换为瞬时流量,而累积量就要通过编写程序来累加,而且信号的传输衰减和计算过程产生的误差就会造成和实际的流量相差很多,现在很多的流量计(包括其他的测量设备)都设计有通讯口,尤其是支持MODBUS协议,所以首选通信方式采集数据,这样可以直接读取我们想要的数据,只需做稍微的数据转换就可以的,同时也减小了工作量提高准确性(实际是按照流量收取费用的)。

实际的硬件连接:10套s7-200组成PPI网络(其中一个200站做主站),有一个从站要采集两个不同厂家的流量计的相关信息。

PPI网络层已经用去了一个端口0,还剩下一个端口1,那么就用这个端口并设置为自由口协议,在程序中调用MODBUS程序块并填写好必要的信息就可以了(其实调用MODBUS程序块时,程序块内就已经设置好端口为自由口协议了)。

图1.MODBUS库文件图2.控制指令图3.控制指令这里MBUS_CTRL_P1指令要一直调用,有一点要指明:图2中的程序是读取其中一台流量计的,图3是读取另一台流量计的,这两个流量计是不一样的。

这里最重要的是MBUS_MSG_P1指令中地址“Addr”的填写,其实这里要填写Modbus从站的寄存器地址(该地址内有我们需要的信息),那么这个地址要怎么填写呢,填写多少呢?这就要查看从站设备(这里是流量计)的“通信手册”了,因为每个厂家的设备都不一样,所以相同信息的寄存器地址也不一样。

(完整)MODBUS_RTU通讯协议

®MODBUS通讯协议使用手册1. RTU 方式通讯协议1.1. 硬件采用RS -485,主从式半双工通讯,主机呼叫从机地址,从机应答方式通讯。

1.2. 数据帧10位,1个起始位,8个数据位,1个停止位,无校验。

波特率:9600;19200 38400 1.3. 功能码03H : 读寄存器值主机发送:第1字节 ADR : 从机地址码(=001~254)第2字节 03H : 读寄存器值功能码 第3、4字节 : 要读的寄存器开始地址 要读FCC 下挂仪表,第5、6字节 : 要读的寄存器数量 第7、8字节 : 从字节1到6的CRC16校验和 从机回送:第1字节 ADR : 从机地址码(=001~254)第2字节 03H : 返回读功能码第3字节 :从4到M (包括4及M )的字节总数 第4到M 字节 : 寄存器数据 第M +1、M+2字节 : 从字节1到M 的CRC16校验和 当从机接收错误时,从机回送:第1字节 ADR : 从机地址码(=001~254)第2字节 83H : 读寄存器值出错第3字节 信息码 : 见信息码表 第4、5字节 : 从字节1到3的CRC16校验和 1.4. 功能码06H : 写单个寄存器值主机发送:当从机接收正确时,从机回送:当从机接收错误时,从机回送:第1字节 ADR:从机地址码(=001~254)第2字节 86H :写寄存器值出错功能码 第3字节 错误数息码 : 见信息码表第4、5字节: 从字节1到3的CRC16校验和1.5. 功能码10H : 连续写多个寄存器值当从机接收正确时,从机回送:当从机接收错误时,从机回送:第1字节 ADR: 从机地址码(=001~254)第2字节 90H : 写寄存器值出错 第3字节 错误信息码 : 见信息码表第4、5字节: 从字节1到3的CRC16校验和1.8 寄存器定义表:(注:寄存器地址编码为16进制)备注:E为阶码。

M为尾数的小数点部分。

S7-300 Modbus RTU通讯方法(CP341作从站)_STEP

S7-300 Modbus RTU通讯方法(CP341作从站)_STEP 硬件及软件列表组态和配置编写通信程序设备连接手册下载硬件及软件列表设备名称设备型号PS 307 6ES7 307-1EA00-0AA0CPU 315-2DP 6ES7 315-2AG10-0AB0MMC 6ES7 953-8LG11-0AA0CP341 6ES7 341-1AH01-0AE0Dongle 6ES7 870-1AB01-0YA0应用CP341进行MODBUS协议通信时需要有Dongle的支持。

在使用之前先将Dongle 安装在CP341模块的背面的Dongle插槽中,Dongle和插入Dongle前后的CP341如下图所示:图1注意:STEP7 V5.X软件上,必须安装如下软件包才可进行后续的组态配置。

PTP协议软件包:SIMATIC S7-CP PtP Param V5.1+SP14MODBUS主站驱动MODBUS从站驱动组态和配置1、打开上面创建的项目ptp,用鼠标右键点击项目名称,选择Insert New Object-> SIMATIC 300 Station,更改站的名称为CP341 Modbus-S。

图22、双击Hardware进入硬件配置画面,插入RACK、CPU315-2DP、CP341。

图33、双击CP341模板,点击Parameter...,配置CP341参数。

在Protocol选项中选择MODBUS Slave。

图44、双击Protocol下的信封图标,配置MODBUS Slave参数,点击MODBUS-Slave按钮。

•步骤1:设置MODBUS从站地址,本例中设为2;•步骤2:设置MODBUS从站波特率,停止位,校验位等参数;•接下来配置功能代码所表示的参数,具体参见下4图5、FC01,05,15:读取、强制输出位的状态;左边的地址为信息传送地址,右边对应西门子的PLC地址区,即左边地址从0~100对应MODBUS地址区为00001~00101,对应西门子数据区为M0.0~M12.4;101~200对应MODBUS 地址区为00102~00201,对应西门子数据区为Q0.0~Q12.3;从地址201~300,301~400对应Modbus 地址区为00202~00301,00302~00401,对应西门子数据区为Timer,Counter。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西门子S7-1500与电子秤的Modbus-RTU通讯舒秋旺【摘要】针对工业电子秤的实时通讯要求,以西门子PLC为核心,采用基于西门子编程组态环境来实现S7-1500的Modbus-RTU通讯的过程与方法.通过TIA Portal软件硬件组态,使用西门子S7-1500 PLC作为主站,实现西门子系列PLC的Modbus-RTU通讯过程,并通过支持Modbu-RTU通讯协议的电子秤设备来验证实现应用过程的可行性与通信过程的正确性.【期刊名称】《铜业工程》【年(卷),期】2019(000)003【总页数】4页(P93-96)【关键词】TIAPortal;S7-1500;电子秤;Modbus-RTU;工控网络【作者】舒秋旺【作者单位】江西铜业集团有限公司贵溪冶炼厂,江西贵溪 335424【正文语种】中文【中图分类】TF321.21 引言TIA portal(博途)是西门子工业自动化集团发布的一款全新的全集成自动化软件,是业内首个采用统一的工程组态和软件项目环境的自动化软件[1]。

TIA portal软件是新一代工程组态软件,几乎可以应用于所有工业领域,包括过程工业,制造工业,混合工业以及工业所涉及的所有制造和过程自动化产品。

借助于全新的博途软件平台,用户能够高效便捷的开发和调试自动化系统。

Modbus通讯协议应用于电子控制器上的一种通用语言[2]。

通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。

Modbus通讯协议已经成为一种通用工业标准,具有帧格式简单、紧凑,通俗易懂,用户使用容易,厂商开发简单等特点。

S7-1500是西门子工业自动化集团推出新一代SIMATIC S7系列可编程控制器。

S7-1500具有多方面特点:高水平的系统性能;标准化的运动控制工艺组态;工业业信息安全集成从块保护延伸至通讯完整性,确保用户应用安全;功能安全性方面通过了EN 61508,符合IEC62061中SIL 3级安全应用标准。

众加利Lark500工业电子秤采用现代传感器技术、电子技术和计算机技术一体化的电子称量装置,满足并解决工业中提出的“快速、准确、连续、自动”称量要求[3]。

称量准确可靠、显示快速清晰并且具有自动检测系统、简便的自动校准装置以及超载保护等装置。

集成了支持Modbus-RTU通讯协议的RS485通讯端口,该通讯协议与其他通讯方式相比具有协议完全公开且国际统一标准、通讯速率快、格式通俗易懂以及其开发免费等特点,使之更符合法制计量管理和工业生产过程控制的应用要求。

2 安装软件安装该软件要求:计算机的操作系统为64位WIN7/10;内存至少8G;图形分辨率最小 1920 x 1080。

依次将西门子软件:STEP 7 Professional V14、WinCC Professional V14、S7-PLCSIM V14 安装到计算机中。

当软件安装成功后,可以在桌面看到 TIA Portal V14、WinCC RT Start、S7-PLCSM V14的快捷方式。

3 硬件组态及网络配置3.1 硬件组态双击“设备和网络”进入硬件组态界面。

在右侧硬件目录中,从“控制器”添加SIMATIC S7-1500CPU。

双击该CPU,进入设备视图,双击“通讯模块”,选择CM PtP RS422/485 HF,然后添加一个PS 25W 24VDC的电源模块[4]。

PLC 硬件组态图如图1所示。

图1 PLC硬件组态图3.2 网络配置(1)配置PLC网络属性:单机“设备视图”进入设备界面,单机CM PtPRS422/485 HF通讯模块,进入属性界面,如图2所示。

在“常规”“项目信息”中改变名称。

在“RS422/485接口”属性栏中,设置工作模式“半双工(RS485)2线制”;在“端口组态”中,选择“自由口/Modbus”通讯协议;在“端口参数选项”中,设置“传输速率”、“奇偶校验”“数据位”、“结束位”等参数。

图2 通讯模块属性界面(2)配置电子秤Lark500:通过面板按钮进入“串口(串口应用参数设定)”界面,选择Modbus1:分度格式Modbus-RTU通讯。

设置波特率、数据位(该项参数应当与PLC通讯模块参数一致)、节点地址。

如图3所示。

图3 电子秤串口界面(3)配置数据块:在项目树中,双击“添加新块”,建立全局DB块。

由于Modbus指令读取或写入的数据区必须为指针寻址,所以必须是有绝对地址的区域方可访问,而S7-1500创建的DB块缺省为优化的DB块,变量没有绝对地址,故在该DB块点右键,在在全局DB块属性中将“优化的块访问”前的勾去掉。

在数据块中新建数组“array{0..100}of word”,用于读取和写入数据的存储。

4 通讯程序Modbus RTU编程需要调用Modbus_Comm_Load 指令和Modbus_Master 指令,其中Modbus_Comm_Load 指令通过 Modbus RTU 协议对通信模块进行组态,Modbus_Master 指令可通过由 Modbus_Comm_Load 指令组态的端口作为 Modbus 主站进行通信[5]。

通讯指令编程如图4、图5所示。

编程过程中应当注意的是MB_MASTER 使用MODE 输入而非功能代码输入。

MODE 和Modbus地址范围一起确定实际Modbus 消息中使用的功能代码。

Modbus_Comm_Load 指令和Modbus_Master指令各参数意义如表1、表2所示。

图4 Modbus_Comm_Load指令编程图5 Modbus_Master 指令编程表1 Modbus_Comm_Load指令各参数意义说明REQ 上升沿触发PORT 通信端口的硬件标识符BAUD 波特率选择:3600,6000,12000,2400,4800,9600,19200,38400,57600,76800,115200 PARITY 奇偶检验选择:0-无;1-奇校验;2-偶校验FLOW_CTRL 流控制选择:0-(默认值)无流控制RTS_ON_DLY RTS延时选择:0-(默认值)RTS_OFF_DLY RTS关断延时选择:0-(默认值)RESP_TO 响应超时:默认值 = 1000 ms。

MB_MASTER 允许用于从站响应的时间MB_DB 对 Modbus_Master 或 Modbus_Slave 指令的背景数据块的引用。

MB_DB 参数必须与 Modbus_Master 或 Modbus_Slave 指令中的静态变量MB_DB 参数相连。

DONE 如果上一个请求完成并且没有错误,DONE 位将变为 TRUE 并保持一个周期。

ERROR 如果上一个请求完成出错,则 ERROR 位将变为 TRUE 并保持一个周期。

STATUS 参数中的错误代码仅在 ERROR = TRUE 的周期内有效。

STATUS 端口组态错误代码,请参考TIA 软件在线帮助或S7-1200 系统手册。

引脚5 下载与检验在TIA中完成PLC和电子秤Lark500的组态,以及通过完成计算机硬件机架的配置后[6],在编译完全没问题的情况下,就可以通过软件将硬件组态和程序下载至PLC中了,如图6所示。

在全局数据DB块的在线视图中,可以直观的观察到电子秤的实时变化的重量,如图7所示。

在数组“array{0..100}of word”中,第一个字到第三个字依次代表:实时重量、皮重净重。

显示数据“3277”,显示类型为16进制,转换为浮点数后值为“12919”,由于电子秤Lark500采用分度计量模式,配置参数时设定为0.02,故需要将上诉三个数值乘以0.02,得到最终的重量数值“258.38” [7]。

触摸屏显示实时重量如图8所示。

6 结束语采用上述设计,成功实现 S7-1500 PLC 同众加利lark500电子秤间的通讯。

随着电子秤不断的革新,性价比、安全可靠性、控制灵活性、操作简易性、人机交互性和管理自动化均将获得极大提高,在自动控制和工业称重等多行业都有应用价值。

表2 Modbus_Master指令各参数意义说明EN 使能端REQ TRUE = 请求向Modbus 从站发送数据,建议采用上升沿触发MB_ADDR Modbus RTU从站地址。

默认地址范围:0至247;扩展地址范围:0至65535。

值0被保留用于将消息广播到所有Modbus从站。

MODE 模式选择:指定请求类型(读取或写入)。

DATA_ADDR 从站中的起始地址:指定Modbus从站中将供访问的数据的起始地址。

DATA_LEN 数据长度:指定要在该请求中访问的位数或字数。

DATA_PTR 数据指针:指向要进行数据写入或数据读取的标记或数据块地址。

DONE 完成位:上一请求已完成且没有出错后,DONE 位将保持为 TRUE 一个扫描周期时间。

BUSY FALSE - Modbus_Master 无激活命令:TRUE- Modbus_Master 命令执行中ERROR 对 Modbus_Master 或 Modbus_Slave 指令的背景数据块的引用。

MB_DB 参数必须与 Modbus_Master 或 Modbus_Slave 指令中的静态变量MB_DB 参数相连。

STATUS 如果上一个请求完成并且没有错误,DONE 位将变为 TRUE 并保持一个周期。

ERROR 如果上一个请求完成出错,则 ERROR 位将变为 TRUE 并保持一个周期。

STATUS 参数中的错误代码仅在 ERROR = TRUE 的周期内有效。

STATUS 错误代码引脚图6 硬件和程序下载图7 在线监控实时重量图8 触摸屏实时重量参考文献:【相关文献】[1]王大鹏, 王涛, 苏孝国. 基于TIA Portal环境的S7-1200的OPC通讯[J]. 可编程控制器与工厂自动化, 2014(9): 97-101.[2]李建飞. 基于MODBUS通讯协议在DCS与PLC通讯中的应用[J].通讯世界, 2016(19): 46-47.[3]葛飞,吴功平,肖晓辉. 自动重量分捡机的研制[J]. 计量与测试技术, 2003(1): 19-20+34. [4]华闰祺, 徐海峰. 在 TIA 博途软件中实现 S7-1500 的组态控制功能[J]. 现代制造技术与装备, 2017(6): 175-176.[5]李方园. 西门子S7-1200的设计与应用第八讲S7-1200与PAC3200的Modbus通讯[J]. 自动化博览, 2011(12): 48-51.[6]孙立红,崔忠信,孙少海,等. 基于西门子博途的升降机控制系统开发与应用[J]. 机电产品开发与创新, 2016(6): 103-105.[7]朱全松. 串口通讯模块 CP340 在工业称重中的应用[J]. 网络与信息技术, 2006, 25(12): 53-54.。

相关文档
最新文档