原装西门子电缆线6XV1821-0AT10
本公司销售西门子自动化产品,全新原装,质量保证,价格优势
西门子PLC,西门子触摸屏,西门子数控系统,西门子软启动,西门子以太网
西门子电机,西门子变频器,西门子直流调速器,西门子电线电缆
我公司大量现货供应,价格优势,品质保证,德国原装进口
S7 1200 PLC与PAC3200通过MODBUS RTU通信的编程
1.MODBUS RTU 通信接口参数的编程
MB_COMM_LOAD 功能块用于组态点对点 (PtP, Point-to-Point) CM 1241RS485 或 CM 1241 RS232 模块上的端口,以进行 Modbus RTU 协议通信。
程序开始运行时,调用一次MB_COMM_LOAD功能块,来实现对MODBUS RTU模块
的初始化组态。
MB_COMM_LOAD执行一次的编程方式采用如下图所示时钟位M10.0来完成。
图12:MB_COMM_LOAD执行一次的编程时钟位的设置
MB_COMM_LOAD功能块的编程如下图所示。
图13:MB_COMM_LOAD功能块的编程
PORT:指的是通过哪个通信模块进行MODBUS RTU通信。
BAUD:指的是和MODBUS子站进行通信的速率。
通信端口的波特率。取值范围为300,600,1200,2400,4800,9600,19200,38400,57600,
76800,115200。
注意:仪表PAC3200的波特率的设置范围:4800,9600,19200,38400。因此上S7-1200
的波特率的设置一定要和仪表PAC3200的波特率的设置相*。
MB_DB:对 MB_MASTER 或 MB_SLAVE 指令所使用的背景数据块的引用。 在用户程序中放置
MB_SLAVE 或 MB_MASTER 后,DB标识符会出现在 MB_DB 功能框连接的助手下拉列表中。
如“MB_MASTER_DB"或“MB_SLAVE_DB"。
STATUS:端口状态代码。具体含义如下表所示。
表4: MB_COMM_LOAD组态端口的状态代码
2.MODBUS_MASTER功能块的编程
MB_MASTER 功能块允许程序作为Modbus 主站使用点对点 (PtP, Point-to-Point) CM 1241 RS485 或 CM 1241RS232 模块上的端口进行通信。 可访问一个或多个 Modbus 从站设备中的数据。
MB_MASTER功能块的编程如下图所示。
图14:MB_MASTER功能块的编程
REQ:数据发送请求信号。0-无请求。1-请求将数据传送到MODBUS从站。
MB_ADR:通信对象MODBUS从站的地址。有效地址范围为0-247。值 0 被保留用于将消息广播到所有 Modbus 从站。 只有Modbus 功能代码 05、06、15 和 16 是可用于广播的功能代码。
注意:此处MODBUS从站的地址一定要与仪表PAC3200 的MODBUS 地址相*。
MODE:模式选择。选择范围为:读、写、诊断。
DATA_ADDR:从站中的起始地址: *要在 Modbus 从站中访问的数据的起始地址
① S7-1200 CPU 将通讯数据区 DB4 块中的 10 个字节的数据发送到 S7-300 CPU 的接收数据区 DB4 块中。
② S7-300 CPU 将通讯数据区 DB10 块中的 10 个字节的数据发送到 S7-1200 CPU 的接收数据区 DB10 块中。
1. 使用 STEP7 V11 软件新建一个项目并完成硬件配置
在 STEP7 V11 的 “Portal 视图" 中选择 “创建新项目" 创建一个新项目。
2. 添加硬件并命名PLC
然后进入 “项目视图",在“项目树" 下双击 “添加新设备",在对话框中西门子SM1221 数字量输入模块, 16 输入24V DC选择所使用的 S7-1200 CPU 添加到机架上,命名为 1200-AC,如图1.所示。