太原西门子(中国)授权总代理商
下面的步骤将具体介绍此功能实现的步骤:
①、在PLC中编写发送程序。在项目管理视图下双击“Device”下的程序块下的Main(OB1),打开OB1,在主程序中调用RCV_PTP功能块如下图所示:(注:RCV_PTP在指令库下的扩展指令中通讯指令下)
图15: 调用发送功能块
要对RCV_PTP赋值参数,首先需要创建RCV_PTP的背景数据块和发送缓冲数据块 ,双击“Devices”——> “PLC_1”——>“Program Block ”——“Add new block”,在弹出的串口命名DB_RCV_PTP,选择DB块,在Type后选择“RCV_PTP(SFB114)”
图16: 创建接收功能块的背景数据块
插入背景DB后,再插入接收缓冲DB块,重复上面的步骤,只是在选择DB类型为“bbbbbb DB”,并去掉“Symbolic access only”选项勾(这样可以对该DB块进行直接地址访问),并取名该DB块为DB_RCV_BUFF。建好这两个DB块后,双击打开DB_RCV_BUFF定义接收缓冲区数据的类型,如下图所示:
图17:定义接收缓冲区
定义完接收缓冲区后,接下来就可以对RCV_PTP赋值参数,赋值参数后如下图:
图18:接收编程
在上面的编程块里需要注意的是,在接收缓冲区时。字符的开始地址是从第二个字节,而不是零字节开始,即是P#DB2.DBX2.0 Byte10 而不是P#DB2.DBX0.0 Byte10,原因是由于S7-1200对字符串的存放的格式造成的,S7-1200对字符串的前两个字节的定义字节是大的字符长度,第二个字节是实际的字符长度。接下来才是存放实际字符。如下图:
图19:bbbbbb存储格式
上面就完成了程序的编写,对项目进行编译;右击PLC_1项目在弹出的菜单里选择“Complies ALL”选项,这样就对硬件与软件进行编译,如下图:
图20:编译项目
编译且没有错误后就可以下载程序到PLC中,同样右击PLC_1项目,在弹出的菜单选择“Download to Device”。
②、用串叉线连接S7-1200的串口与计算机的串口,打开计算机的超级终端程序,并设置硬件端口参数如下图:
图21:超级终端的端口设置
在桌面上新建文本文件,打开此文本文件在里面输入“gfdcba”,如下图:
图22:在文本文件下输入要发送的字符串
③、打开变量监控表,强制M0.0,使能接收。然后, 在超级终端里,选择菜单“Transfer”下的“Send Text file”,在打开的窗口里找到桌面 上的文本文件。
图23:通过超级终端发送数据
打开DB_RCV_BUFF数据块,在线查看接收到的数据,如下图:
图23:接收缓冲区中接收到的数据
通过上面的例子实现了简单的应用,在实际的应用过程中,需要按第三方设备的协议进行编写S7-1200的程序。
西门子S7-1200 紧凑型PLC在当前的市场中有着广泛的应用,作为经常与SENTRON PAC3200系列仪表共同使用的PLC,其Modbus通信协议的使用一直在市场上有着非常广泛的应用。本文将主要介绍如何使用Modbus 通信协议来实现S7-1200与SENTRON PAC3200仪表的通信。
1.西门子SENTRON PAC3200 仪表介绍
西门子的SENTRON PAC3200多功能电力仪表是一种用于面板安装的仪表,可用来计量、显示配电系统多达50个测量变量,例如电压、电流、功率、有功功率、频率以及大值、小值和平均值。中文大屏幕图形液晶显示使用户可远距离读表。PAC3200仪表如下图所示。
图1:仪表PAC3200
1.1 SENTRON PAC3200 MODBUS RTU通信扩展模块介绍
PAC3200多功能仪表的本体没有MODBUS RTU通信的功能,如果希望将PAC3200作为从站连接到MODBUS RTU网络与主站进行数据交换必须选用外部扩展通信模块――SENTRON PAC RS485模块。(注意: PAC RS485 扩展模块使用错误的固件版本时将不能工作
SENTRON PAC3200 电力监测设备的固件版本低应为FWV2.0X。 较早的版本不支持
PAC RS485 扩展模块。)该扩展模块具有下列性能特点:
• 可通过设备正面设置参数
• 即插即用
• 支持 4.8/9.6/19.2 以及 38.4 KBd 通信传输速率
• 通过6针螺钉端子接线
• 不需要外接辅助电源
• 通过模块上的 LED 显示状态
PAC3200 MODBUS RTU通信扩展模块如下图所示。
(1) 通信接线端子
(2) 安装螺钉
(3) 通风口
(4) LED
图2:PAC3200 MODBUS RTU 通信模块
1.2 SENTRON PAC3200 MODBUS RTU通信扩展模块的接线
SENTRON PAC3200 MODBUS RTU通信扩展模块的接线如下图所示
图3:PAC3200 MODBUS RTU 通信模块的接线图
1. 将电缆连接到端子排上相应的螺栓端子。
2. 将电缆屏蔽层的一端连接到保护性接地PE。
3. 将信号公共端连接到保护性接地。 这样也使得扩展模块接地。
4. 在个和后一个通信节点上,在正信号和负信号之间接入总线端接电阻器。 为
此,PAC RS485 扩展模块中集成了一个120 Ohm 的总线端接电阻器。 如果需要其它
电阻值,请使用外部总线端接电阻器。 将它连接到个和后一个通信节点。
1.3 SENTRON PAC3200 MODBUS RTU通信的方式
1.SENTRON PAC3200设备支持的功能码如下:
FC | 功能码 | 数据类型 | 访问权限 | |
02 | 输入的状态 | 位 | 输入 | R |
03 | 输出寄存器 | 寄存器 | 输出 | R |
04 | 输入寄存器 | 寄存器 | 输入 | R |
06 | 单一输出寄存器 | 寄存器 | 输出 | RW |
10 | 多个输出寄存器 | 寄存器 | - | RW |
2B | 设备识别 | - | - | R |
表1: SENTRON PAC3200设备支持的功能码
R—可读
RW—可读写
2.SENTRON PAC3200 MODBUS RTU 与S7-1200进行通信
S7-1200 PLC可以通过功能代码0x03 和0x04 访问仪表PAC3200的被测量数据。
下表是一些PAC3200 被测量的数据。
表2: SENTRON PAC3200设备的一些被测量数据
2.西门子SENTRON PAC3200 仪表与S7-1200进行通信的接线图
下图是SENTRON PAC3200仪表与S7-1200进行MODBUS RTU 通信的接线图。
图4:S7-1200与PAC3200进行MODBUS RTU 进行通信的接线图
3.硬件需求
S7-1200 PLC目前有3种类型的CPU:
1)S7-1211C CPU。
2)S7-1212C CPU。
3)S7-1214C CPU。
这三种类型的CPU都可以使用MODBUS通信协议通过通信模块CM1241 RS485来实现S7-1200与PAC3200仪表的通信。
本例中使用的PLC硬件为:
1)PM1207电源 ( 6EP1 332-1SH71 )
2) S7-1214C ( 6ES7 214 -1BE30 -0XB0 )
3) CM1241 RS485 ( 6ES7 241 -1CH30 -0XB0 )
4) 模拟器 ( 6ES7 274 -1XH30 -0XA0 )
本例中使用的PAC3200仪表硬件为:
1) PAC3200 (7KM2112-0BA00-3AA0)
2) MODBUS RTU 模块 (7KM9300-0AB00-0AA0)
3) MODBUS 通信电缆 ( 6XV1830-0EH10)
3.软件需求
1) 编程软件 Step7 Basic V10.5 ( 6ES7 822-0AA0-0YA0)
4.S7-1200 MODBUS RTU的通信方式
S7-1200作为MODBUS RTU主站的通信方式是由DATA_ADDR 和 MODE 参数来选择 Modbus 功能类型的。
DATA_ADDR(从站中的起始 Modbus 地址): 要在 Modbus 从站中访问的数据的起始地址。MB_MASTER 使用 MODE 输入而非功能代码输入。 MODE 和 Modbus 地址范围一起确定实际 Modbus 消息中使用的功能代码。
下表列出了 MB_MASTER 参数 MODE、Modbus 功能代码和 Modbus 地址范围之间的对应关系。
表3: MB_MASTER的MODBUS 功能
5.S7-1200 与PAC3200 进行MODBUS RTU的通信组态
我们通过一个实例来介绍如何在Step7 Basic V10.5 中组态S7-1214C 和PAC3200的MODBUS RTU通信。
5. 1 PLC 硬件组态
首先在Step7 Basic V10.5中建立一个项目,如图1所示。
图5: 新建S7 1200项目
在硬件配置中,添加CPU1214C和通信模块CM1241 RS485模块,如图2所示。
图6: S7 1200硬件配置
在CPU的属性中,设置以太网的IP地址,建立PG与PLC的连接,如下图所示。
图7: S7 1200 IP地址的设置
5. 2 PAC3200参数设置
在SENTRON PAC 电力监测设备的主菜单中,调用“设置”>“RS485 模块”,出现下面的设置画面:
图8: PAC3200 MODBUS RTU 通信参数的设置
1. 地址的设置范围:1-247。本例中设为8。
2. 波特率的设置范围:4800,9600,19200,38400。本例中设为38400。
3. 设置外部通信的数据位、奇偶校验位及停止位:
• 8E1=8 个数据位,奇偶校验位为even, 1 个停止位
• 8O1=8 个数据位,奇偶校验位为odd, 1 个停止位
• 8N2=8 个数据位,无奇偶校验位, 2 个停止位
• 8N1=8 个数据位,无奇偶校验位, 1 个停止位
本例中根据S7-1200 MODBUS MASTER 的参数设置为 8N1。
4. 协议的设置:可选项为:SEABUS,MODBUS RTU。
本例中设为MODBUS RTU。
5.响应时间的设置:注意与波特率的设置相匹配,本例中设为10mS。
太原西门子(中国)授权总代理商
(一) SIWAREX MS称重模块简介
SIWAREX MS称重模块集成在SIMATIC S7-200中,主要特征如下:
利用STEP 7 MicroWin版本4.0 SP2及更高版本进行配置;
分辩率高达16位的重量测量或力的测量;
精度0.05 %;
可以在20 ms或33 ms之间选择的快速测量时间;
使用SIWATOOL MS,通过RS 232接口很容易地实现校秤;
允许理论校秤;
更换模块后无需重新校订,只需重新下载校秤数据即可;
适用于1类防爆区域的本质称重传感器电源(SIWAREX IS选项);
诊断功能。
(二) 设备及列表
设备名称 | 订货号 | 数量 |
CPU224 DC/DC/DC | 214-1AD21-0XB0 | 1 |
SIWAREX MS称重模块 | 7MH4930-0AA01 | 1 |
称重传感器 | 7MH4103-3AC01 | 1 |
PC/PPI 电缆 | 6ES7 901-3BF20-0XA0 | 1 |
或6ES7 901-3DB30-0XA0 | ||
SIWATOOL连接电缆(可选) | 7MH4 702-8CA | 1 |
屏蔽连接端子 | 6ES5 728-8MA11 | 1 |
说明 | |
STEP7 MicroWin | 4.0 SP2及更高版本 |
配置包 | 包含Micro/Win程序库、SIWATOOL MS及使用手册 |
注:建议次使用SIWAREX MS的客户从西门子技术支持网站下载入门例子程序:
22605342
(三) 通过MicroWin编程校秤
1. 打开MicroWin
2. 图标,设置通信接口
3. 双击,PC与PLC建立连接
如果未能建立连接,请检查电缆是否连接好、PC/PG Interface中设定的参数是否正确。
4. 添加称重库指令
Libraries,右键选择Add/Remove Libraries选项
添加完毕后,如下图所示:
5. 编程