- 发布
- 浔之漫智控技术(上海)有限公司
- 品牌
- 西门子
- 型号
- 模块
- 产地
- 德国
- 电话
- 15821971992
- 手机
- 15821971992
- 发布时间
- 2023-07-19 17:06:40
Modbus地址实际上分为两种情况。下面以西门子S7-200/S7-200 SMART/和S7-1200为例来说明:
种情况:PLC作Modbus主站,Modbus地址和PLC手册里的地址一致,例如作主站的S7-200的MBUS_MSG指令用于向Modbus从站发送请求消息,和处理从站返回的响应消息。要读取从站(另一台S7-200)的I0.0开始的地址区时,它的输入参数Addr(Modbus地址)为10001。S7-200从站保持寄存器的V区起始地址为VB200时,要读取从站VW200开始的V存储区时,保持寄存器的地址是40001。
第二种情况:PLC作从站,PLC不用管什么Modbus地址,等着主站来读写它的地址区就是了。
主站的计算机软件(例如DCS或组态软件)的编程人员需要编写实现Modbus通信的程序,首先需要确定Modbus RTU的报文结构。他们一般不熟悉PLC,因此PLC的编程人员往往需要和上位机软件的编程人员一起来讨论Modbus的报文结构。
容易出问题的就是报文里Modbus地址与PLC存储区地址的对应关系。我做过的一个系统的上位机是专用的组态软件,我通过分析GE PLC手册给出的CRC的循环异或计算实例每一步的中间数据,编写出了CRC计算的C语言程序。通过实验验证了Modbus报文结构和CRC的计算的可行性。
S7 PLC手册给出的Modbus地址与Modicon公司和GE公司PLC使用的地址相同,是基于1的地址,即同类元件的首地址为1。而西门子PLC采用的是基于0的地址,即同类元件的首地址为0。Modbus报文中西门子PLC的Modbus地址也采用基于0的地址。
PLC系统手册中的Modbus地址的高位用来表示地址区的类型,例如I0.0的Modbus地址为10001。因为地址区类型的信息已经包含在报文的功能码中了,报文中S7-200的I0.0的Modbus地址不是10001,而是0。报文中其他地址区的Modbus地址也应按相同的原则处理。例如当S7-200从站保持寄存器的V区起始地址为VB200时,VW200对应的保持寄存器在报文中的Modbus地址为0,而不是40001。
怎样用西门子S7-200 PLC追踪一台设备运行了多长时间呢?
本例程序的目的是记录一台设备(制动器、开关等)运行的时间,以下前提必须满足:当设备运行时,必须给输入I0.0提供24V信号;当设备小工作时小提供电压。
当提供输入信号时,开始测量时问。如果没有输入信号,那么就中断时问的测量,自到重新提供输入信号为止,测量到的小时数存在字VWD中,分钟数存在字VW2中,秒数存在VW4中。
程序框图
程序和注释
程序个扫描周期调用子程序1。在子程序1中,设定计时器丁5为1秒的运行时间,当达到1秒时,计时器位“T5”被置1,同时,秒计数标志VW4增加1,并将计时器位“T5”复位。因此,计时器能在下一周期立即重新启动。
当秒计数标志达到60时,分钟计数标志VW2增加1,秒计数标志VW4被置为0.
当分钟计数标志达到60时,小时计数标志VW0增加1,分钟计数标志被置为0。子程序结束。
主程序结束的后一行用二进制来显示当前的秒数,用输出端的LED显示。
本程序长度为35个字。
基本型是价格优型
扩展模块连接接口,多可寻址 24 点数字量输入、20 点数字量输出、8 点模拟量输入和 8 点模拟量输出。
可选择连接 LOGO!TDE 文本显示器
所有基本单元都配有集成 Web 服务器
机箱宽度 72 mm (4 MW)
所有基本单元都带以太网接口,用于与 LOGO! 8、LOGO!、TDE、SIMATIC 控制器、SIMATIC 面板和 PC 通信
采用标准微型 SD 卡
继电器输出,输出电流大为 10A
内置EEPROM存储器,用于控制程序和设定值
可选的标准微型 CF 卡
内置夏令时/冬令时自动切换的实时时钟。
备份集成的实时时钟 20 天。
8 个数字量输入,4 个数字量输出。
对于 DC12/24V 型号,4 个输入作为模拟量输入 (0-10V);也可作为数字量输入。
4 个输入可用来高速计数,高 5KHz(只针对于直流型)。
扩展模块连接接口,多可编址 24 点数字量输入、20 点数字量输出、8 点模拟量输入和 8 点模拟量输出。
连接 LOGO!到 LOGO! 8 通过以太网连接 TDE 文本显示屏。