- 1. 一、Modbus RTU 指令的使用
- 2. 二、Modbus RTU Hauptstation编程
- 3. 三、详细说明
一、Modbus RTU 指令的使用

二、Modbus RTU Hauptstation编程
- Hauptstation编程需调用 Modbus Comm_Load 和 Modbus_Master指令:
- Modbus_Comm_Load 指令通过 Modbus RTU Vereinbarung对Kommunikation模块进行Strukturen;
- Modbus Master 指令可通过由 Modbus Comm Load 指念Strukturen的端口作为 Modbus Hauptstation进行Kommunikation。
Modbus RTU Hauptstation指令 Modbus Comm Load Parameter
| 引脚 | 说明 |
| REQ | Aufstieg触发 |
| PORT | Kommunikation端口的硬件标识符 |
| BAUD | Porter RateAuswahl: 3600,6000,12000,2400,4800,9600,19200,38400,57600,76800,115200 |
| PARITY | 奇偶检验Auswahl: 0-无; 1-Seltsame Tests; 2-Zufällige Prüfungen |
| FLOW_CTRL | 流控制Auswahl: 0-(默认值) 无流控制 |
| RTS_ON_DLY | RTS 延时Auswahl: 0- (默认值) |
三、详细说明
Modbus RTU Hauptstation编程
1.Modbus RTU Hauptstation指令 Modbus Comm_Load Parameter
| RESP_TO | Antwort超时: 默认值= 1000 ms。Modbus_Master 允许用于Von der StationAntwort的Zeit(以毫秒为单位)。 |
| MB_DB | 对Modbus_Master或 Modbus_Slave 指令的背景Daten块的引用。 MB_DB Parameter必须与Modbus_Master 或Modbus_Slave 指今中的静态变QuantitätMB_DBParameter相连。 |
| DONE | 如果上一个Bitteabgeschlossen.并且没有Fehler.,DONE位将变为 TRUE并保持一个周期。 |
| ERROR | 如果上一个Bitteabgeschlossen.出错,则ERROR位将变为TRUE并保持一个周期。STATUSParameter中的Fehler.代码仅在ERROR=TRUE的周期内Wirksam。 |
| STATUS | 端口StrukturenFehler.代码,请参考 TIAPortal 软件在线帮助或S7-1200Das System手册 |
2.Modbus RTU Hauptstation指令 Modbus Master Parameter
| 引脚 | 说明 |
| EN | 使能端 |
| REQ | TRUE=Bitte向 Modbus Von der StationSenden SieDaten,建议采用Aufstieg触发 |
| MB_ADDR | Modbus RTU von der Station Adresse。默认Adresse范围:0至247;扩展Adresse范围:至65535。值0被保留用于将消息Rundfunkzu所有 Modbus Von der Station |
| MODE | 模式Auswahl: 指定BitteTypus(Lesen或写入)。 |
| DATA ADDR | Von der Station中的Ausgang Adresse: 指定 Modbus Von der Station中将供访问的Daten的Ausgang Adresse |
| DATA_LEN | DatenLänge:指定要在该Bitte中访问的位数或字数。 |
| DATA PTR | Daten指针: 指向要进行Daten写入或DatenLesen的 M区或Daten块Adresse。 |
| DONE | abgeschlossen.位:上一Bitte已abgeschlossen.且没有出错后,DONE 位将保持为 TRUE一个扫描周期时 间。 |
| BUSY | FALSE-Modbus Master 无激活Befehl:TRUE -Modbus Master Befehl执行中。 |
| ERROR | 如果上一个Bitteabgeschlossen.出错,则ERROR位将变为TRUE 并保持一个周期。STATUSParameter中的Fehler.代码仅在ERROR=TRUE的周期内Wirksam。 |
| STATUS | 端口StrukturenFehler.代码,请参考 TIA Portal 软件在线帮助或S7-1200 Das System手册。 |
3.MB MODE、MB DATA ADDR、MB DATA LEN、Modbus RTUFunktionscode等之间的关系
| MB_MODE | MB_DATA ADDR | MB_DATA_LEN | Modbus RTU Funktionscode | Operationen和Daten |
| 0 | 1-9999 | 1-2000 | 01 | Lesen输出位 每个Bitte1-2000个位 |
| 0 | 10001-19999 | 1-2000 | 02 | Lesen输入位 每个Bitte1-2000个位 |
| 0 | .40001-49999(等同于400001-409999 .400001-465535 | 1 – 125 | 03 | Lesen und halten Register 每个Bitte1-125个字 |
| 0 | 30001-39999 | 1 – 125 | 04 | Lesen输入字 每个Bitte1-125个字 |
| 1 | 10001 – 19999 | 1 | 05 | 写入输出位 每个Bitte1位 |
| 1 | .40001-49999(等同于400001-409999 .400001-465535 | 1 | 06 | 写入保持Register. 每个Bitte1个字 |
| 1 | 10001 – 19999 | 2 -1968 | 15 | 写入多个输出位 每个Bitte2-1968个位 |
| 1 | .40001-49999(等同于400001-409999 .400001-465535 | 2-123 | 16 | 写入多个保持Register. 每个Bitte2-123个字 |
| 2 | 10001 – 19999 | 1 – 1968 | 15 | 写入输出位 每个Bitte1-1968个位 |
| 2 | .40001-49999(等同于400001-409999 .400001-465535 | 1 -123 | 16 | 写入保存Register. 每个Bitte1-123个字 |
| 11 | 11 | 详情见下文 | ||
| 80 | 1 | 08 | 详情见下文 | |
| 81 | 1 | 08 | 详情见下文 | |
| 104 | 0-65535 | 1-125 | 04 | Lesen输入字 每个Bitte1-125个字 |
11 (Operationen和Daten) : LesenDer Server的Status字和Ereignisse计数器:
1.Status字反映了处理的Status(0-未处理,0xFFFFF-正在处理里);
2.ModbusBitte成功执行时,Ereignisse计数器将递增。如果执行ModbusFunktion时出错则Der Server将Senden Sie消息但不会递增Ereignisse计数器。
80(Operationen和Daten) : 通过诊断代码0x0000检查Der ServerStatus(返回循环测试-Der Server发回Bitte
每次调用1个字
81 (Operationen和Daten) : 通过诊断代码0x000A复位Der Server的Ereignisse计数器:
每次调用1个字
Modbus RTU Von der Station编程
| 引脚 | 说明 |
| MB ADDR | Modbus Von der Station的标准寻址: 标准寻址范围(1zu247),扩展寻址范围(0zu65535) |
| MB_HOLD_REG | Daten指针,指向 Modbus 保持Register.的Adresse,Modbus 保持Register.可以为 M存储区或DB Datenzone |
| NDR | 可用的新Daten: >FALSE: 无新Daten。 >TRUE: 表示新Daten已由 Modbus Hauptstation写入,如果上一个Bitteabgeschlossen.并且没有Fehler.,NDR位将变为 TRUE 并保持一个周期。 |
| DR | Daten lesen: >FALSE:无新Daten。 >TRUE:表示该指令已将 Modbus HauptstationEmpfangzu的Daten存储在目标区域中。如果上一个Bitteabgeschlossen.并且没有Fehler.,DR 位将变为 TRUE 并保持一个周期。 |
| ERROR | 如果上一个Bitteabgeschlossen.出错,则 ERROR 位将变为 TRUE 并保持一个周期。 如果执行因Fehler.而终止,则STATUS Parameter中的Fehler.代码仅在ERROR=TRUE的周期内Wirksam. |
| STATUS | Fehler.代码 |
2.Modbus RTU Von der StationDatenzone定义
| Adresse区 | 定义 | 说明 |
| 输出位 | Q0.0 开始 | Q0.0为Adresse1,Q0.1为Adresse 2,Q0.7为Adresse 8,Q1.0为Adresse 9… |
| 输入位 | I0.0开始 | I0.0为Adresse10001,I0.1 为Adresse 10002,I0.7 为Adresse 10008,I1.0 为地10009… |
| 输入Register. | IW0 开始 | IW0 为Adresse30001,IW2 为Adresse 30002,IW4 为Adresse 30003… |
| 保持Register. | 由MB_HOLD_REG定义 | 指针指向的Die一个字为 40001,Die二个字为40002. 1.例如:MB_HOLD REG为 P#M100.0 WORD8,则 MW100 为 40001,MW102 为 40002,MW104 为 40003…MW114为40008 2.例如: MB_HOLD_REG为优化 DB 中 INT 数组[0…7],数组名为“XXX”AA,则“XXX”.AA[0]为40001,“XXX”AA[1]为40002,“XXX”.AA[2]为40003.“XXX.AA[7]为40008 |
Antwort veröffentlichen