协议宏通过Modubs读写温控器当前值与设定值

合集下载

modbus 读写参数处理

modbus 读写参数处理

modbus 读写参数处理(实用版)目录1.Modbus 简介2.Modbus 读参数处理3.Modbus 写参数处理4.Modbus 参数处理的应用正文一、Modbus 简介Modbus 是一种串行通信协议,广泛应用于工业自动化和控制系统中。

它最初由 Modicon 公司开发,现在已成为工业领域中事实上的标准。

Modbus 协议支持多种数据传输方式,如串行、以太网和无线等,其中串行传输是最常见的。

Modbus 协议的主要特点是传输速度快、可靠性高、扩展性强和兼容性好。

二、Modbus 读参数处理Modbus 读参数处理是指从 Modbus 设备中读取参数的过程。

这个过程可以分为以下几个步骤:1.连接:首先,需要建立与 Modbus 设备的连接。

这可以通过串行通信线、以太网或者无线网络实现。

2.确定数据地址:在 Modbus 设备中,参数通常被存储在一定的地址范围内。

要读取参数,需要先确定参数所在的地址。

3.读取参数:确定了参数地址后,就可以通过 Modbus 协议从设备中读取参数了。

Modbus 协议支持多种数据类型,如整数、浮点数、布尔值等。

4.解析参数:读取到的参数需要进行解析,以便后续处理和应用。

解析过程通常包括校验、转换和归一化等操作。

三、Modbus 写参数处理Modbus 写参数处理是指向 Modbus 设备中写入参数的过程。

这个过程可以分为以下几个步骤:1.准备参数:首先,需要将要写入的参数准备好。

这包括确定参数的值、数据类型和地址等。

2.建立连接:与 Modbus 设备建立连接,如同读参数处理一样,可以通过串行通信线、以太网或者无线网络实现。

3.写入参数:通过 Modbus 协议将参数写入 Modbus 设备。

Modbus 协议支持多种数据类型,如整数、浮点数、布尔值等。

4.确认写入:写入完成后,需要从 Modbus 设备中读取参数,以确认写入是否成功。

四、Modbus 参数处理的应用Modbus 参数处理在工业自动化和控制系统中有广泛的应用,例如:1.监控系统:通过 Modbus 协议读取设备参数,可以实现对设备的实时监控和数据采集。

PLC对温控器的控制

PLC对温控器的控制

1、利用MODBUS便利指令将温控器的目标温度值、现在温度值读出到显示装置。

2、利用MODBUS便利指令实现对温控器参数进行如下设置:【温控器参数必要设置】DTB系列温控器通讯规格:1. 支持MODBUS ASCII/RTU 通讯格式,支持的波特率2400, 4800,9600, 19200, 38400。

2. 支持功能码03H (读多笔)、06H (写入1笔),支持10H (写多笔)。

3. ASCII模式下不支持7,N,1或8,O,2或8,E,2通讯格式。

4. RTU模式下支持8,N,1或8,N,2或8,O,1或8,E,1通讯格式。

5. 通讯地址设置范围1~255,通讯地址0为广播地址。

PLC 软元件控制说明 MO执行MODRD 指令 M1执行第1个MODWR 指令 M2执行第2个MODWR 指令 M3执行第1个MODRW 指令 M4执行第2个MODRW 指令 控制程序:M1002HI —rSET MOVT4M2-tHM3_t|—M4HtH MOV SET M1143 通讯棋式舟 MODBL-S RTU ・ MOV KO D1 MOV K5D D2 MOV K3C D3LD= ca K2 LI — _1 _____ _—_r弍行第 <3Z> 或行曲 MODWR IB* MODR7U '±-■■ MODRW -m RST CO |泊MI122 舌宣通说格式 eeoo.e.N,2 K -00 卫■诡讥逐时 严-1 DDms MOV K5CO □ 0 低蛊丸or LD =LD-L 2 = 汛和 MOD^D :: 1 T 弩和卜運蔽 r iu -方 r 应賈为3匸 COLD= CO琪行曲coCOCOKOKIMOMlM二*MODRD/WODW RZMODRW斎4>怫sm;ftRSTM二27【程序说明】1、对PLC RS-485 通讯端口进行初始化,使其通讯格式为MODBUS RTU ,9600, 8,N,2。

利用VB开发基于Modbus协议的温度、湿度监控系统软件

利用VB开发基于Modbus协议的温度、湿度监控系统软件
《 冶金 自动化》04 20 年增刊
利用 V B开发基于 Mo b s d u 协议的 温度、 湿度监控 系统软件
陈 曦, 涛, 张 付少波, 孙英科, 任金全
( 河北工业大学 自 动化研究所 , 天津 303) 010
[ 要I 摘 控制技术、 计算机技术和网络技术相结合促进了集散控制系统( C ) D S 的进一步发展, 使控制系统实现了集中管 理、 分散控制。本文以一个基于 R -45 S 8 总线的温度、 湿度控制系统为例, 全面介绍了该系统的硬件组成及软件结构, 并
20 5
万方数据
( 冶金 自ห้องสมุดไป่ตู้动化》04 20 年增刊
io6 n ()= & 2 f H C io7 n ()= &HA f 8 io8 n ()= 邑H3 f 8
Ma F r . C m T oO tu = i o i om MS o m w . pt n n u f
编程过程中应该注意: ①在用户使用监控软件的时候应该充分考虑用户操作合法性问题, 譬如端口 使用情况、 通信设备工作状态等; ②由于系统的通信过程是串行通信, 在编程过程中注意上位机与下位机 之间的同步, 当不同步时, 通信可能被中断, 应该适当地考虑时间的延迟。
1 温度、 湿度控制系统的构成
该系统属于集散控制系统( C ) D S的一个小型的操作站, 网络的拓扑结构采用菊花链形式, 如图 1 所
不 。
能仪表
调节阀
加湿器
湿度传感器
温度传感器
图 1 系统构成图
系统的各个部分的组成和功能为: 操作站既可以是工业控制机也可以是桌面台式机, 安装在控制室内。其作用是运行组态软件, 将各
两种传输模式中( S I或R U , A CI T )传输设备已 Mobs 将 du 消息转为有起点和终点的帧, 这就允许接 收的设备在消息起始处开始工作, 读地址分配信息, 判断哪一个设备被选中( 广播方式则传给所有设备) ,

毕业设计(论文)-基于modbus协议的温度测控节点的设计[管理资料]

毕业设计(论文)-基于modbus协议的温度测控节点的设计[管理资料]

基于Modbus协议的温度测控节点的设计摘要在机械、化工、纺织等行业,随着生产规模的不断扩大,以及对生产过程集中监控的迫切要求,现场总线技术应运而生,并成为了当今测控领域研究的热点之一。

Modbus协议作为现场总线的一种,以其开发成本低,简单易用等诸多优点己被工业领域广泛接受。

温度作为工业中重要的测量参数之一,本课题选择了温度作为测量的对象,并设计了基于Modbus协议的温度测控节点。

本设计采用TC1047A传感器采集现场温度,由STC12C5A60S2单片机进行AD 转换和Modbus协议通讯。

通讯的物理层采用RS485接口,并增加了光电隔离、抗雷击和短路保护等功能。

最后实现了单个节点和PC机的Modbus协议通讯,并通过控制蜂鸣器和继电器来模拟工业现场控制。

本文分别从硬件和软件上阐述了该温度测控节点的实现方法。

关键词温度测控Modbus协议RS485 STC12C5A60S2The Design of Temperature Measuring and ControllingNodeBased to Modbus ProtocolABSTRACTWith the continuous expansion of production scale, and the urgent requirements in centralized monitoring of the production process in mechanical, chemical, textile and other industries. Fieldbus technology came into being, and become one of hot research field of measurement and control today. As one of field bus, Modbus protocol have been widely accepted because of low development cost, easy to use and many other advantages in temperature is one of the important parameters measured in industry,so it has been chosen a measurement of the object,temperature measurement and control nodes has been designed based on Modbus protocol.This design uses TC1047A sensor to collect on-site temperature,AD conversion and Modbus protocol communications can be done by STC12C5A60S2 physical layer of communication adopts RS485 interface, and have optical isolation, anti-lightning and short circuit protection in addition. Finally, achieved the Modbus protocol communication between a single node and the PC, and simulate industrial control by controlling the buzzer, a n d r e l a y.T h i s p a p e r d e s c r i b e s t h e i m p l e m e n t a t i o n o f temperature control node from hardware and software.KEY WORDS Temperature Monitoring Modbus protocol RS485 STC12C5A60目录中文摘要 (Ⅰ)英文摘要 (Ⅱ)1 绪论 (1)2 设计方案 (3)方案概述 (3)方案论证 (3)通讯可靠性 (4)温度检测电路选择 (4)系统电源稳定性 (5)3 硬件电路设计 (6)最小系统电路 (6)温度检测电路 (6)电源电路 (7)报警控制电路 (9)通讯电路 (10)显示电路 (13)硬件抗干扰的设计 (14)4 MODBUS协议概述与应用 (16)MODBUS协议概述 (16)总体描述 (16)MODBUS数据单元 (17)MODBUS通信原理 (17)M两种传输方式 (19)ASCll模式 (20)RTU模式 (20)MODBUS消息帧 (21)ASCll帧 (21)RTU帧 (21)字符的连续传输 (22)错误检测方法 (23)LRC检测 (24)CRC检测 (24)5 软件设计 (25)AD采集程序设计 (26)串口中断处理程序设计 (27)MODBUS协议程序设计 (29)CRC计算及校验程序设计 (29)6 总结 (33)致谢 (34)参考文献 (34)附录 1 (36)附录 2 (37)1 绪论随着计算机技术和网络技术的发展,工业参数的数字采集促进了现场总线技术的发展,目前现场总线已经从当初的4-20mA电流信号升级为数字信号,发展成为全数字通讯,解决了现场信号远距离高速传送的问题,而且提高了抗干扰性能,增加了系统配置的灵活性,节省了硬件投资,是未来生产自动化和过程控制的发展方向。

西门子200PLC和omron温控器modbus通讯程序

西门子200PLC和omron温控器modbus通讯程序

西门子200PLC和omron温控器modbus通讯———江湖小色随着智能温控仪表的普及以及工业现场控制的需要,以温控器为代表的智能仪表和PLC等上位机的通讯在过程实施中越来越多的被使用。

今天闲来无事,给新手以及正在做类似项目的朋友做了个简单的教程紧供参考(高手就不必看了)。

由于时间有限,MODBUS通讯的格式等就不再这里赘述了,网上多的是随便down一个看吧。

一:欲做MODBUS通讯,首先要加载MODBUS库如下图1.库上点右键(图1)-----添加删除库(图2)-----添加(A)(找到MODBUS库文件的地址就好了)库加载成功后如图 3. 你也可以向我一样直接下载西门子的库文件(Inst_Library_V11)安装,在哪儿找就不用说了吧。

图1图2图3二:库加载完了,接着就是初始化MODBUS了。

1.以端口0为例,打开加载的端口0的modbus库。

2.加载程序到网络,并如图设置参数(baud=通讯比特率 parity=端口的模式0为PPI通讯1为modbus通讯 timeout=通讯超时时间 done=指令执行完成 error=错误代码)。

本例中通讯的比特率设定为38400(高的比特率可以获得高的通讯效率但是如果环境干扰比较大就要设的低一些不易出错)。

3.modbus通讯指令同时紧有一条可以执行,所以要写如下图的一个小程序。

目的是让4.中的程序交替执行。

程序很简单就不多解释了,如果有什么不懂可以发邮件于我yifan.163@。

4.下面两条指令的功能就是监控温控器的设定值和当前值。

(其中slave是温控器的站号RW可以为0(读)也可以为1(写)决定这条指令是读参数还是写参数 addr就是要读的地址喽,这里要说一下,omron的地址是0000开始而且是16进制的ASCII码,PLC 读地址时要把地址转换为10进制,而且要在原来的地址上加1,然后加40000.例如要读温控器的当前值,他的地址是0404即十进制的1028那么PLC读此参数的地址是40000+1028+1=41029。

SHT-标准MODBUS协议-湿度

SHT-标准MODBUS协议-湿度

MODBUS RTU 通讯协议波特率9600 数据格式:8位校验位无停止位1位数据默认1位小数,例如10表示1.01.读测量值(温度、湿度、开关状态)命令:主机读数据格式:开始从机地址命令寄存器地址寄存器个数CRC校验>5ms延迟1字节0x03 高字节低字节0x00 22 高字节低字节0x00 03高字节低字节0xXXXX从机返回数据格式:开始从机地址命令字节数数据CRC校验>5ms延迟1字节0x03 6 温度高位温度低位湿度高位湿度低位状态高位状态低位高字节低字节0xXXXX注意:状态:0x80 00 表示温度为负,0x00 00 表示温度为正例如:命令:01 03 00 22 00 00 e5 c0返回:01 03 06 01 21 02 E3 80 00 0d 2d2.读继电器设定值(温度上限、温度下限、湿度上限、湿度下限、温度回滞、湿度)命令:主机读数据格式:开始从机地址命令寄存器起始地址寄存器个数CRC校验>5ms延迟1字节(0x01) 0x03 高字节低字节0x00 0x33高字节低字节0x00 0x00高字节低字节从机返回数据格式:开始从机地址命令字节数数据CRC校验>5ms延迟1字节(0x01) 0x03 10 温度上限高位温度上限低位温度下限高位温度下限低位湿度上限高位湿度上限低位湿度下限高位湿度下限低位温度回滞湿度回滞高字节低字节例如:命令:01 03 00 33 00 00 b5 c5返回:01 03 0A 01 05 00 A1 02 56 01 C3 0A 32 C5 B2 3.读补偿状态及温湿度补偿数值:主机读数据格式:开始从机地址命令寄存器起始地址寄存器个数CRC校验>5ms延迟1字节(0x01) 0x03 高字节低字节0x00 0x44高字节低字节0x00 0x00高字节低字节从机返回数据格式:开始从机地址命令字节数数据CRC校验>5ms延迟1字节(0x01) 0x03 5 补偿状态温度补偿高字节温度补偿低字节湿度补偿高字节湿度补偿低字节高字节低字节例如:命令:01 03 00 44 00 00 05 df返回:01 03 05 00 00 04 00 08 F2 95注意:补偿状态=0x00 表示关补偿=0x11表示开补偿补偿高字节=0x00表示正补偿=0x11表示负补偿3.写继电器设定值命令:主机写数据格式:开始从机地址命令寄存器起始地址寄存器个数写入字节数数据CRC校验10 ms 1字节(0x01)0x10 高字节低字节0x00 0x33高字节低字节0x00 0x0010字节温度上限高位温度上限低位温度下限高位温度下限低位湿度上限高位湿度上限低位湿度下限高位湿度下限低位温度回滞湿度回滞高字节低字节从机返回数据格式:开始从机地址命令寄存器起始地址寄存器个数CRC校验10 ms 1字节(0x01)0x10 高字节低字节0x00 0x33高字节低字节0x00 0x00高字节低字节例如:命令:01 10 00 33 00 00 0a 01 93 00 cd 03 20 01 96 05 05 68 4f 返回:01 10 00 33 00 00 30 063.写温度补偿设定值命令:主机写数据格式:开始从机地址命令寄存器起始地址寄存器个数写入字节数数据CRC校验10 ms 1字节(0x01)0x10 高字节低字节0x00 044高字节低字节0x00 0x005字节补偿状态温度补偿高字节温度补偿低字节湿度补偿高字节湿度补偿低字节高字节低字节从机返回数据格式:开始从机地址命令寄存器起始地址寄存器个数CRC校验10 ms 1字节(0x01)0x10 高字节低字节0x00 0x44高字节低字节0x00 0x00高字节低字节例如:命令:01 10 00 44 00 00 05 11 00 05 11 03 6e 04 返回:01 10 00 44 00 00 80 1C4.写IP地址:主机写数据格式:01 10 00 55 00 00 01 02 1c 5b开始从机地址命令寄存器起始地址寄存器个数写入字节数数据CRC校验10 ms 1字节(0x01)0x10 高字节低字节0x00 055高字节低字节0x00 0x00字节数0x010x02(IP地址)0x1c(高字节)0x5b 低字节从机返回数据格式:02 10 00 55 00 00 D0 2A开始从机地址命令寄存器起始地址寄存器个数CRC校验10 ms 0x02 0x10 高字节低字节0x00 0x55高字节低字节0x00 0x00高字节低字节0x2b 0x9cIP改后测试:读新地址数据:命令:02 03 00 22 00 00 e5 f3返回:02 03 05 00 D1 01 5D 00 A2 EB附件:读数命令(1-10):01 03 00 22 00 00 e5 c002 03 00 22 00 00 e5 f303 03 00 22 00 00 e4 2204 03 00 22 00 00 e5 9505 03 00 22 00 00 e4 4406 03 00 22 00 00 e4 7707 03 00 22 00 00 e5 a608 03 00 22 00 00 e5 5909 03 00 22 00 00 e4 880a 03 00 22 00 00 e4 bb0b 03 00 22 00 00 e5 6a0c 03 00 22 00 00 e4 dd0d 03 00 22 00 00 e5 0c0e 03 00 22 00 00 e5 3f0f 03 00 22 00 00 e4 ee改IP命令(1-10)01 10 00 55 00 00 01 02 1c 5b01 10 00 55 00 00 01 03 dd 9b01 10 00 55 00 00 01 04 9c 5901 10 00 55 00 00 01 05 5d 9901 10 00 55 00 00 01 06 1d 9801 10 00 55 00 00 01 07 dc 5801 10 00 55 00 00 01 08 9c 5c01 10 00 55 00 00 01 09 5d 9c01 10 00 55 00 00 01 0a 1d 9d01 10 00 55 00 00 01 0b dc 5d01 10 00 55 00 00 01 0c 9d 9f01 10 00 55 00 00 01 0d 5c 5f01 10 00 55 00 00 01 0e 1c 5e01 10 00 55 00 00 01 0f dd 9eCRC校验:unsigned char code auchCRCHi[] = {0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40};unsigned char code auchCRCLo[]={0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06,0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3,0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4,0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29,0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60,0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67,0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71,0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92,0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B,0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42,0x43, 0x83, 0x41, 0x81, 0x80, 0x40};unsigned int calcrc16(unsigned char *puchMsgg,unsigned int usDataLen){unsigned char uchCRCHi = 0xFF ; /* 高CRC字节初始化*/unsigned char uchCRCLo = 0xFF ; /* 低CRC 字节初始化*/unsigned int uIndex ; /* CRC循环中的索引*/while (usDataLen--) /* 传输消息缓冲区*/{uIndex = uchCRCHi ^ *puchMsgg++ ; /* 计算CRC */uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex] ;uchCRCLo = auchCRCLo[uIndex] ;}return (uchCRCHi << 8 | uchCRCLo) ;}CRC例子:(写命令返回数据)uart1_send_buf[0]=00x01;//slaveaddr;uart1_send_buf[1]=0x10;uart1_send_buf[2]=register_start_addr/256; //寄存器起始地址uart1_send_buf[3]=register_start_addr%256;uart1_send_buf[4]=register_count/256; //寄存器个数uart1_send_buf[5]=register_count%256;crc=calcrc16(uart1_send_buf, 6 );uart1_send_buf[6]=crc/256;uart1_send_buf[7]=crc%256;----------------------------------------------------------------------------------------------------------------------。

ModBus协议温控器应用说明

ModBus协议温控器应用说明

GWK系列温控器应用说明郑州春泉节能股份有限公司ModBus协议温控器应用说明一、概述GWK系列温控器是郑州春泉节能股份有限公司生产的基于移动互联技术,在传统温控器功能的基础上,增加WIFI通讯接口,采用标准的ModBus协议,并完全开放协议,用户可以自己开发APP或者使用组态软件开发管理系统进行应用的智能温控器。

产品适用于所有四线三速风机盘管,可直接替代传统温控器。

温控器GWK100、GWK200、GWK201采用标准ModBus协议,其通讯协议格式有两种,一种为ModBus TCP,一种是ModBus RTU。

设备固件目前暂时只能支持其中的一种,也即要么为ModBus TCP格式,要么为ModBus RTU格式。

二、设备WIFI配置WIFI出厂设置为AP+STA工作模式。

AP模式:chuntsuan,密码:chuntsuan,访问IP:10.10.100.254,其中登录名称:admin,密码:admin。

STA模式:连接的路由器名称:CQJN,密码chuntsuan,IP地址有连接的路由器动态分配。

(如果有需求,可以在批量定制的时候按照需求进行设置)根据以上所述,进入WIFI设置有两种方式:方法1、手机或者电脑连接设备生成的热点chuntsuan,连接上之后,在浏览器中输入http://10.10.100.254,点击链接,在弹出的登录界面上用户名位置输入:admin,密码位置输入:admin,然后进入参数配置页面。

方法2、将路由器的名称设置为CQJN,密码设置为chuntsuan,设备上电之后就会自动连接路由器,在路由器的DHCP中找到设备分配给模块的IP,然后将IP地址放入浏览器,点击进行连接,在弹出的登录界面上用户名位置输入:admin,密码位置输入:admin,然后进入参数配置页面。

如图一所示:图一左侧部分显示可以进行参数设置的选项:1、系统信息:显示当前设备一些基本参数2、点击模式设置,如下图二所示:图二从显示的界面可以看到,模块支持三种工作模式,AP+STA模式、AP模式、STA模式,在实际应当中,可以选择其中的一种,建议在最终应用中选择使用STA模式。

OMRON__CJ常见问题

OMRON__CJ常见问题

OMRON__CJ常见问题⽬录CJ1 (4)1.CJ1M系列PLC命名规则: (4)2.买CJ系列PLC的时候,需要同时购买CF卡吗?型号是什么? (4)3.CJ系列PLC的电池型号是什么? (4)4.CJ系列PLC上的⼩外设⼝如何转成232⼝? (4)5.CJ系列PLC带扩展机架时需要哪些配置? (4)6.CJ系列PLC需要另配端板CJ1W-TER01吗? (5)7.CJ系列的PLC带扩展机架,使⽤CJ1W-IC101和CJ1W-II101的时候,这两个模块怎么放置? (5)8.CJ有哪些电源模块?型号后带R和带C的有什么区别? (5)9.CJ1M系列哪些CPU型号内置脉冲输出功能?内置⼏路脉冲输出?输出频率最⼤为多少? (5) 10.CJ1M-CPU21/22/23 CPU单元内置脉冲输出,输出频率能否达到101Hz? (6)11.CJ1M-CPU21/22/23 CPU的内置输⼊点是否附带连接器? (6)12.CJ1M-CPU21/22/23 CPU单元内置⾼速计数响应频率是多少? (6)13. CJ1W-□D2□1的直接焊线的连接器型号? (6)14.CJ1M-CPU13-ETN和CJ1M-CPU13配置有什么区别? (7)15.CJ系列模拟量模块规格 (7)16.CJ系列PLC能带多少块模拟量模块? (8)17.CJ1W-TC模块规格 (9)18.CJ1系列的PLC的DIP开关和通讯设置有关吗? (9)19.CJ系列PLC普通I/O模块输⼊输出地址如何分配? (9)20.CJ系列特殊模块的地址分配?(例举特殊模块和总线模块的地址分配) (10)21.CJ1M-CPU21/22/23 CPU单元内置16点地址如何分配? (10)22.CJ1M-CPU21/22/23 CPU单元内置⾼速计数器当前值存储字的通道是多少? (10) 23.CJ1M-CPU21/22/23 CPU单元内置⾼速计数的软件复位位是什么? (10)24.CJ1M-CPU21/22/23 CPU单元内置⾼速计数暂停位是什么? (11)25.CJ1M-CPU21/22/23 CPU单元内置脉冲输出频率及脉冲输出当前值存储地址是多少?(11)26.CJ系列PLC怎么做modbus通讯? (11)27.CJ如何使⽤存储卡进⾏备份? (11)28. CJ系列PLC程序读保护的加密⽅法和释放密码⽅法(知道密码的情况下) (12)29.CJ在机架报错I/O 校验错误,如何处理? (12)30. CJ1⽤串⼝和计算机⽤CX-Programmer软件通讯不上,软件提⽰⽆法连接PLC?1331.两台CJ□M / CP1□使⽤1:N PC Link通信,如何操作? (13)32.CJ⼝M能否与CQM1/CPM/C200Hα做PC LINK通讯? (15)33.CJ系列模拟量输⼊模块硬件上如何确定是电压还是电流输⼊? (15)34.CJ系列模拟量输出模块是否要给模块外加供电电源? (16)35.CJ系列模拟量输⼊模块如何使⽤?输⼊通道地址是什么? (16)36.CJ系列模拟量输出模块如何使⽤?输出通道的地址是什么? (16)37.如何通过CJ的CPU+CJ1W-SCU41-V1通讯模块,使⽤协议宏模式通过Modbus-RTU 协议来读取3G3MV的0024寄存器(输出频率)数据? (17)38.如何使⽤CJ1W-ETN21模块实现与CX-Programmer软件进⾏通信? (20)39.CJ系列的PLC主站模块DRM21需要做为DeviceNet⽹的从站如何实现? (21)40. 使⽤CJ1W-DRM21的主站模块能否和其他公司的DeviceNet从站模块进⾏通讯?2141.CJ1W-DRM21模块提⽰E0错误是什么问题? (21)42.CJ1W-DRM21模块使⽤DRT从站,主站模块提⽰E2错误是什么问题? (22)43.DRM21模块提⽰D5错误,如何处理? (22)44. CJ1W-CLK21-V1模块通讯电缆连接后,模块INS指⽰灯不亮,模块RUN灯亮,模块错误指⽰灯不亮? (22)CJ2 (23)45. CJ2M系列PLC命名规则: (23)46.CJ2H系列PLC命名规则: (23)47.CJ2M和CJ1M的区别? (24)48.CJ1M-CPU2□⽤CJ2M的替代型号是什么? (24)49.CQM1H⽤CJ2M替代型号是什么? (24)50.CJ2的PLC的内置端⼝有哪些? (25)51.CJ2M-CPU的内置232⼝或选件板通讯⼝分别⽀持什么通讯协议? (25)52.CJ2系列的PLC的⽀持编程软件CX-P版本是多少? (25)53.CJ2系列的PLC可以⽀持多少个扩展机架,以及最⼤扩展IO点数能够达到多少? (26)54.CJ2H-CPU6⼝-EIP主机架配置是否和CJ1M-CPU1⼝-ETN⼀样有限制? (26)55.CJ2M可以做PC Link吗? (26)56.CJ2H-EIP、CJ2M-CPU3□内置EIP端⼝和CJ1W-EIP21有什么区别? (26)57.CJ1W-EIP21模块与CJ1W-ETN21模块的区别? (28)58.CJ1W-EIP21模块是否可以替换CJ1W-ETN21模块? (28)CJ11.CJ1M系列PLC命名规则:2.买CJ系列PLC的时候,需要同时购买CF卡吗?型号是什么?PLC的程序是存在闪存⾥⾯的,不会丢失,CF卡是⽤来备份程序,所以不是必须买的。

变压器温控器通讯协议 modbus

变压器温控器通讯协议 modbus

一、通讯设置
1、采用的RS232 或RS485通信方式;
2、通讯协议为MODBUS的RTU格式;
3、串口设置:波特率9600,无校验,8位数据位,1位停止位;
二、数字量输出(位寻址bit),采用MODBUS功能号01读取,为只读变量。

示例:读取1号温控器的所有数字输出量状态
1、温控地址(Device Address)为01
2、功能号(Function Code)为01
3、起始地址(Start Address)为0
4、读取点数(No。

of Point)为4
由数据为02可知,01号温控器的传感器无故障,风机已打开,未报警,未跳闸。

示例:读取1号温控器的所有输入寄存器
1、温控地址(Device Address)为01
2、功能号(Function Code)为04
3、起始地址(Start Address)为0
4、读取点数(No。

of Point)为4
由温控器应答数据可知
A相温度为60℃(64H = 100 ,100-40=60);B相温度为61℃(65H = 101 ,101-40=61);C相的传感器有故障;
铁心温度为40℃(50H = 80 ,80-40=40);。

TCW-32系列智能精密数显温控仪通讯协议说明(ModBus RTU)

TCW-32系列智能精密数显温控仪通讯协议说明(ModBus RTU)

TCW-32系列智能精密数显温控仪通讯协议说明(ModBus RTU)一、功能介绍TCW-32系列智能精密数显温控仪(以下称下位机或仪表)可配置通讯接口与上位机进行通讯,接口电平符合RS485标准。

通讯协议可选择国龙协议或ModBus RTU协议,通讯速率9600bit/s。

一个通讯接口最多可接32台仪表,通讯距离最长500米。

二、通讯协议与指令1、通讯协议选择仪表二级菜单密码5中参数td设为90时,通讯协议为国龙协议;td设为80时通讯协议为ModBus RTU。

国龙协议请参照《TCW-32系列智能精密数显温控仪使用说明书》。

参数td 通讯协议80 ModBus RTU90 国龙协议2、读指令格式 一条完整的读指令由“地址”、“功能代码”、“起始地址”、“读取字个数”和“校验码CRC16”组成(H高字节,L低字节)。

上位机发送指令格式为:地址 + 功能代码 + 起始地址 + 读取字个数 + 校验码CRC16单字节 单字节 2字节(H+L) 2字节(H+L) 2字节(L+H)① ② ③ ④ ⑤① 仪表地址与地址指令(单字节)工作中,通常一个通讯接口上连有多台仪表,为了方便区分,需将每台仪表进行独立编号,约定称下位机号,设定范围0-99。

如某下位机号b(b在仪表的二级菜单中)=11(16进制为0BH),该下位机的地址指令为: 0BH② 功能代码(单字节)读参数指令代码为:03H③ 起始地址 2字节(H+L)读取内容不同,起始地址编号不同,具体见参数代号表,如读取当前实际温度,则起始地址为:00H。

④ 读取字个数 2字节(H+L)读取参数个数决定读取字个数, 如只读取当前实际温度,则读取字个数为:01H;如同时读取“实际温度、输出功率、设定温度”三个参数,则读取字个数为:03H⑤ 校验码(CRC16) 2字节(L+H)根据发送的内容进行CRC16计算,计算的结果作为校验码发送,发送校验码的格式为(L+H)低字 节在前,高字节在后。

MODBUS协议--220EF(特殊)温度控制仪

MODBUS协议--220EF(特殊)温度控制仪

MODBUS协议-220EF(特殊)
1.帧定义:
波特率:1200 2400 4800 9600 (可选) 数据长度:8位
奇偶校验:偶奇无(可选) 停止位:1位
口连线3,4
2.数据地址(寄存器地址)定义:
2.1温度值及参数地址定义:(功能码为0x 03)
0-代表该输出触点打开1-代表该输出触点闭合
注2:以上各(除继电器输出状态)实际值=主机收到的值/10
注3:当温度值为7000H(表示OP),6000H(表示OH),8000H(表示OL),5000H(表示ER)。

2.2 继电器输出状态位地址定义:(功能码为0x 01)
2.3 继电器遥控,输出状态位地址定义:(功能码为0x 05)
2.4 写参数地址定义:(功能码为0x 06或0x10)
0-代表该输出触点打开1-代表该输出触点闭合
注2:以上各(除继电器输出状态)主机下传的值= 实际值*10
注3:功能码0x06为修改单个参数值;功能码0x10为修改多个参数值。

注4:保留地址与表2.1相同,请参见表2.1,如果是保留地址,请用户不要修改此地址数据。

3.说明:
3.1 温控器(仪)通讯中功能码为0x03中上传继电器输出状态与功能码为0x01功能重复,只是为了方便用户选择使用何种方式读继电器输出状态。

3.2 温控器(仪)通讯中功能码为0x06或0x10中遥控继电器输出状态与功能码为0x05功能重复,只是为了方便用户选择使用何种方式遥控继电器输出状态。

3.3 我们建议用户不对超温跳闸进行遥控,否则产生的后果由用户负责。

DS18B20温度MODbus协议(单指令)

DS18B20温度MODbus协议(单指令)

DS18B20温度传感器的通信协议命令包含:1.读取站号命令2.写站号命令3.读取数据4.手动矫正数据串口参数设置:读站号命令(固定命令)主站从站地址功能码H地址L地址 H数据L数据 CRC00 03 00 01 00 01 CRClo CRChi 从站从站地址功能码H地址L地址H数据CRC00 03 02 00 XX CRClo CRChi 注:返回帧与主站相同设备地址:(XX=01-FF)示例:命令00 03 00 01 00 01 D4 1B(固定命令)回复00 03 02 00 FF C5 C4 (设备默认站号FF)写站号命令主站从站地址功能码H地址L地址寄存器个数寄存器个数数据长度数据CRC00 10 00 01 00 01 02 00 XX CRClo CRChi 注:(XX=0X01-0XFF)从站从站地址功能码 H地址L地址寄存器个数CRC00 10 00 01 00 01 CRClo CRChi 示例:命令00 10 00 01 00 01 02 00 33 EA 04回复00 10 00 01 00 01 51 D8读数据主站从站地址功能码 H地址L地址寄存器个数寄存器个数CRCXX 03 00 00 00 01 CRClo CRChi 注:(XX=0X01-0XFF)从站从站地址功能码数据长度数据CRCXX 03 02 1C 27 CRClo CRChi 示例命令FF 03 00 00 00 01 91 D4回复FF 03 02 1C 27 D9 4A注:温度:第4,5字节1C 27实际温度=读数/100-40度1C 27=7270实际温度=7270/100-40=32.70度引线定义:红色:5-24V黑色:GND黄色:485A蓝色:485B。

新商用热水机线控器Modbus协议说明

新商用热水机线控器Modbus协议说明

(一)上位机接口说明
线控器预留上位机通信的接口,基于modbus现场总线协议;上位机作为客户端可以远程操作、查询线控器;线控器提供一路485(XYE)接口,默认波特率为9600,无校验,数据位8位,停止位1位。

(二)Modbus指令说明
Modbus RTU指令由地址域(2字节)、功能码(1字节)数据、CRC16校验码(2字节)组成。

在本系统中,地址域及网关拨码地址,范围为1-16(拨码地址1~0xf表示1~15,0表示16号地址),另外0号地址表示群发地址。

本线控器支持0x02,0x03,0x04,0x10四种功能码,当用户使用其他功能码操作时会返回异常码:非法功能码.
1. 读保持寄存器(0x03)
一次读取保持寄存器的数量不能大于24个,地址说明见Modbus网关映
一次读取输入寄存器的数量不能大于24个,地址说明见Modbus网关映
一次性写寄存器的数量不能大于13个,地址说明见Modbus网关映射表。

(三)地址映射表
功能码为0x10,可以写的保持寄存器寄存器地址
以上所有超过规定的数据,都会返回异常数据的异常码;
查询外机信息地址映射表
线控器的modbus现场总线地址由线控器上的拨码选定:
拨码为1-15时则线控器的网络地址为1-15,线控器拨码为0时则线控器的网络地址为16
其他数据地址则返回异常码:非法地址
以上为线控器所连外机的数据
下面则是线控器内部设置的参数可查询地址
其他地址返回异常码:非法地址
(说明:上表大部分内容都是可以上位机写入的,同样在这里可以用上位机读出,所以地址都与写入时相同,详情可看写入保持寄存器的表1)。

欧姆龙NJ控制器(PLC)自由协议控制变频器与温控器的方法

欧姆龙NJ控制器(PLC)自由协议控制变频器与温控器的方法

欧姆龙NJ控制器(PLC)自由协议控制变频器与温控器的方法电气工程师项目设计流程:一个项目中,电气工程师要做的设计思路西门子S7-1200/1500PLC的结构化程序编程模式/套路S7-1200/1500PLC用FB284库指令控制伺服驱动器的程序PLC定位控制基础:电子齿轮比对脉冲当量和电机转速的调整作用步进电动机与交流伺服电动机的性能比较,来看看跟你知道的一样吗?怎样用软件进行交流伺服驱动器的增益自动调整?变频器的种类多种多样,根据负载特性怎么选择变频器呢?怎么让两台伺服电机比例同步运行?伺服驱动器要做哪些设置?西门子S7-1200PLC 基于AT覆盖变量的V90伺服速度控制程序S7-1200PLC控制伺服驱动器V90PN-速度控制SIMOTICS电机欧姆龙自动化设备通过CX-One软件配置单机PLC控制系统详解欧姆龙自动控制设备通过CX-One软件配置PLC网络系统PLC如何快速排除故障?这里有一个资深电气工程师所用模板关于不用边沿脉冲指令的单按钮启停控制程序,用继电器控制也能做吗?欧姆龙NJ控制器(PLC)控制欧姆龙总线型1S伺服驱动器/伺服电机操作指引让你设计的程序能够适用于所有PLC品牌和绝大部分型号!欧姆龙NJ控制器(PLC)自由协议控制变频器与温控器的方法欧姆龙NJ控制器也是通过连接CJ系列的串行通信模块来实现自由协议通信,这些高功能模块有CJ1W-SCU22、CJ1W-SCU32、CJ1W-SCU42,在软件右下角可以查看它们的参数。

一、硬件配置/组态1、打开欧姆龙“Sysmac Studio”软件,点击“新建工程”。

2、在“工程属性”处,设置工程名称、作者、注释、类型等,设备类型选择“控制器”,选择对应设备型号与版本。

3、添加串行通信模块CJ1W-SCU32。

4、鼠标左键点击模块可以,修改设备名称和单元号(单元号要与实际拨码号一致),点击“编辑特殊单元设置”或右击模块选择“编辑特殊单元设置”,可以进入模块参数设置页面。

MODBUS温度变送器通信协议说明0807

MODBUS温度变送器通信协议说明0807

MODBUS温度变送器通信协议
一.概述:
本协议遵守MODBUS通信协议,采用了MODBUS协议中的子集中RTU方式.
二.串行数据格式:串口设置:无校验,8位数据,1位停止位.
串口波特率为:1200,2400,4800,9600,19200,38400,57600,115200
CRC校验的多项式:0xA001.
数据通信过程中的数据全部是按照双字节有符号整形数据来处理
三.通信格式:
1.读命令格式(03功能码)
A.读命令格式举例:
A.
写命令格式举例:
3.写命令帧格式(0x10功能码,该命令取消)
A. 写命令帧格式举例
4.错误与异常命令应答返回数据格式:
四. 寄存器说明:
五. 注意事项:
1.一次最多读写5个寄存器
六. 常用命令举例:(举例数据均为十六进制,变送器地址为1)。

永宏PLC同具有MODBUS通讯协议的温控器进行通讯

永宏PLC同具有MODBUS通讯协议的温控器进行通讯

永宏PLC同具有MODBUS通讯协议的温控器进行通讯
现在俺用永宏PLC同具有MODBUS通讯协议的温控器进行通讯为例。

1.设置温控器的站号为2号,通讯参数为:9600,N,8,2 通讯方式:MODBUS RTU
2.设置永宏PLC的PORT2通讯参数情况,如下图
3.PORT2通讯参数设置完成后,编写通讯指令M-BUS
然后选中M-BUS 指令(就是用鼠标点击上面梯形图中的FUN150这条应用指令),按Z 字键进入通讯表格编辑
在通讯表格中,可以看到有2笔通讯指令:第一笔是PLC从2号站读取2个WORD长度的资料,然后存于DD10中;第二笔是PLC写2个WORD的资料到2号站。

上述传递的意思是:第一笔是读取温控器的PV值,第二笔是写SV至温控器。

该温控器的寄存器表格如下
4.如上图,可以看到SV:00H PV:C3H,把这2个寄存器地址转换成10进制,再依据永宏的MODBUS 映射表,转成永宏的MODBUS地址,即 SV:400001 PV:400196
5.至此,MODBUS通讯全部结束。

modbus 读写参数处理

modbus 读写参数处理

modbus 读写参数处理摘要:1.Modbus 协议简介2.Modbus 读写参数处理原理3.Modbus 读写参数处理的应用领域4.Modbus 读写参数处理的优势和局限性5.总结正文:Modbus 协议是一种通信协议,主要用于工业自动化和控制领域。

它基于主从模型,可以实现设备之间的通信和数据交换。

Modbus 读写参数处理是Modbus 协议的一个重要应用,通过对参数的读写操作,可以实现对设备的监控和控制。

1.Modbus 协议简介Modbus 协议是一种串行通信协议,它包括Modbus ASCII、Modbus RTU、Modbus TCP/IP等多种实现方式。

Modbus协议的基本思想是让主设备向从设备发送请求,从设备收到请求后返回响应。

主设备根据从设备的响应来判断设备的状态,并根据需要发送新的请求。

2.Modbus 读写参数处理原理Modbus 读写参数处理是指在Modbus 协议的基础上,实现对设备参数的读写操作。

参数分为离散参数(如开关状态)和模拟参数(如温度、压力等)。

读写参数处理的过程中,主设备会向从设备发送读写请求,从设备收到请求后,根据预设的参数值返回响应。

主设备收到响应后,可以根据需要对参数进行修改。

3.Modbus 读写参数处理的应用领域Modbus 读写参数处理在工业自动化和控制领域有着广泛的应用。

例如,在智能工厂中,可以通过Modbus 协议实现对生产线设备的监控和控制;在智能建筑中,可以通过Modbus 协议实现对空调、照明等设备的远程控制。

此外,Modbus 读写参数处理还在能源管理、交通控制等领域发挥着重要作用。

4.Modbus 读写参数处理的优势和局限性Modbus 读写参数处理的优势在于它具有较高的实时性和可靠性,可以满足工业自动化和控制领域对数据采集和控制的严格要求。

此外,Modbus 协议具有广泛的应用领域,可以方便地实现多种设备的互联互通。

然而,Modbus 读写参数处理也存在一定的局限性。

MXHT2温度模块使用说明ModbusRTU

MXHT2温度模块使用说明ModbusRTU

MXHT2 温度模块使用说明输入电压:6V~12V 或者5V(购买前请说明)485通信设置:9600,N,8,1(默认设置,可修改) Modbus RTU 通信协议:1.读取当前温度发送帧返回帧功能码0x04寄存器地址:0x0001读取数量:0x0001返回的温度数据长度为两字节,高位在前低位再后,将这两字节转换成10进制数再除以100即为当前温度值;当最高位为1时表示负值,此时需将此值取补加1,也可将此值直接减去65536,即为当前温度值,下面举例说明:发送帧(地址为1):01 04 00 01 00 01 60 0a返回帧:01 04 02 06 E2 3A D901地址码,04功能码,02长度,3A D9: crc16校验06E2即为温度值,最高位为0,所以温度为正,将其转换为10进制=1762,在将其除以100:17.62 即为当前温度值;返回帧:01 04 02 F2 9F 61 F8 59F29F为温度值,最高位为1,所以温度为负,将其转换为10进制=62111,再减去65536= -34.25 即为当前温度值。

2.读取485地址码:发送帧返回帧地址码0xff功能码0x03寄存器地址:0x0000读取数量:0x0001例如:发送帧:FF 03 00 00 00 01 91 D4返回帧:FF 03 02 00 01 50 50FF地址码,03功能码,01长度,02当前模块地址,91 D4 crc16校验注意:使用此命令时485总线上只能接一个温度模块,超过一个将会出错!3.设置485地址:发送帧返回帧功能码:0x06寄存器地址:0x0000设置内容:2字节例如:将模块地址改为2发送帧(地址为1):01 06 00 00 00 02 08 0B返回帧:01 06 00 00 00 02 08 0B4.设置波特率:发送帧返回帧地址码0x01~0xFE功能码0x06寄存器地址:0x0005设置值:0x0000---1200;0x0001---2400;0x0002---4800;0x0003---9600;0x0004---19200注意:设置完成后需要重启温度模块!例如:在当前波特率下设置模块的波特率为9600发送帧:01 06 00 05 00 03 d9 ca返回帧:01 06 00 05 00 03 d9 ca 返回帧与发送帧相同。

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

(2) 接线:
图1-1
图1-2
2.软件设置: (1) PLC 自动创建 IO 表并对串口 1 做如下设置(单元号是 0)
1
OMRON 客户服务中心
梯形图里做以下程序:
图1-3
图1-4
1509.15 是协议宏执行标志位,1500+单元号*25+19(串口 1 是加 9)的 15 位。 A202.00 是内部逻辑端口 1 的网络通信命令可执行标志位。 PMCR 的第一个控制字的 12-15 位的 0 内部逻辑端口 3,8-11 位的 1 是串口 1,0-7 位的 10 是 10+单元号(这里的单元号是 0);第二个控制字 0 代表序列 0 即 POTOCOL 中的 Sequence0;第三个控制字和第四个控制字分别是发送和接收的 数据通道,仅当 POTOCOL 中的 Data Address 是 Operand 时有效,所以这里都设 为 0.
反馈用变量来接收:
图1-10
5
OMRON 客户服务中心
校验:
图1-11
3.实验现象 (1)、 中选择要发送的步,触发 PMCR 指令。 在 TRACE 中看到反馈
6
OMRON 客户服务中心
(2)、
图1-14
图1-15
Potocol 中选择要发送的步,触发 PMCR 指令,可以看到 PLC 对应通道内有如下 的值:
(2) 温控器处的设置:
2
OMRON 客户服务中心
图1-5
协议选 Modbus,单元号设 1,通讯速度、数据长度、停止位和校验和 SCU 模块设 置成一致的。 CX-Protocol 处的设置 在 CX-Protocol 中新建工程,右键 New Protocol List 选择新建 Protocol,选 CS/CJ. 再右键 New Protocol,新建 Sequence;再右键 Sequence,新建 Step。右键 Send Message List 新建 Send Message。 在 Send message 里选中 data,把相应发送的数据写入 a.写入上下限值
3
OMRON 客户服务中心
图1-6
参数通过变量写入,在 DM10 开始的通道内写入以下参数:
图1-7
D100 到 D103 是设置的上下限值。 校验用 CRC-16:
b.读取当前值:
图1-8
4
OMRON 客户服务中心
图1-9
01 是站号,03 是功能代码变量读取,0000 是当前值的通道,0002 代表读一个通 道。 校验:
图1-16 当前值为 112(HEX),即 274X0.1=27.4。 可以在 TRACE 中看到反馈 010304000001127BAE
图1-17
4.实验总结 E5CZ 的 Modbus 协议数据位固定 8 位,停止位 1 位。
7
OMRON 客户服务中心
协议宏通过 Modbus 读写温控器当前值与设定值
实验设备:CJ2M-CPU33(PLC),CJ1W-SCU41-V1(串口通讯单元),E5CZ-C2MT (温控器) 实验目的:协议宏通过 Modbus 读写温控器当前值和设定值
实验步骤: 1.系统概述,硬件搭建和接线 (1) 硬件结构:
相关文档
最新文档