MODBUS-ASCII协议范例模版.doc
MODBUS-ASCII协议合同编号: 合 同 模 版Xxxx年xx月注意事项为了维护您的合法权益,确保交易的安全,请在使用本合同范本前仔细阅读下列注意事项:1、本合同为根据相关法律规定制定的通用性示范文本;2、如有必要,请根据具体的交易背景、交易目的等适当修改、调整本合同范本的相关条款;MODBUS-ASCII:冒号开头,回车换行结束。1、命令号:02 读取输入状态 取得一组开关输入的当前状态(ON/OFF)计算机发送命令:开始标记设备地址 命令号02 起始寄存器地址 读取的寄存器数 CRC校验的高8位 CRC校验的低8位 例:11020004CRC低CRC高发送代码:3AH,31H,31H,30H,32H,30H,30H,30H,34H,37H,38H,0DH,0AH意义如下:<1>设备地址:在一个485总线上可以挂接多个设备,此处的设备地址表示想和哪一个设备通讯。例子中为想和17号(十进制的17是十六进制的11)通讯. 2>命令号02:读取数字量的命令号固定为02.3起始地址:表示想读取的开关量的起始地址(起始地址为0).比如例子中的起始地址为0.<4输入状态总共读取数:表示从起始地址开始读多少个开关量.例子中为4个开关量。该设备只有4个输出即P00,P01,P02,P03。<5LRC校验:蓝色部分相加后取反,再加1。 假设P0口读入的数据为:设备响应:设备地址 命令号02 返回的字节个数数据1数据2。.。数据nCRC校验的高8位 CRC校验的低8位 例:1102010ACRC低CRC高 发送代码:3AH,31H,31H,30H,32H,30H,31H,30H,46H,36H,35H,0DH,0AH意义如下:1>设备地址和命令号和上面的相同.2>返回的字节个数:表示数据的字节个数,也就是数据1,2.n中的n的值.3>数据1.。n:由于每一个数据是一个8位的数,所以每一个数据表示8个开关量的值,每一位为0表示对应的开关断开,为1表示闭合。例子中各输入继电器分别为:P0端口的检测输入为:P07断开、P06断开、P05断开、P04断开、P03闭合、P02断开、P01闭合、P00断开。3、写数字量(线圈状态):计算机发送命令:设备地址 命令号05 需下置的寄存器地址 下置的数据 CRC校验的高8位 CRC校验的低8位 例:11050600CRC低CRC高 发送代码:3AH,31H,31H,30H,35H,30H,36H,30H,30H,37H,33H,0DH,0AH意义如下:1>设备地址和上面的相同。2命令号:写数字量的命令号固定为05。<3>需下置的寄存器地址:表明了需要下置的开关的地址。设置P06,该设备智能设置P04,P05,P06,P074>下置的数据:表明需要下置的开关量的状态.例子中为把该开关断开。注意,此处只可以是FF表示闭合00表示断开,其他数值非法。<5>注意此命令一条只能下置一个开关量的状态。 设备响应:如果成功把计算机发送的命令原样返回,否则不响应。 。6、:写数模的输出电压(不包含偏移电压)或偏移电压计算机发送命令:设备地址 命令号06 偏移量或直接数据 下置的数据高16位 低16位 CRC校验的高8位 CRC校验的地8位 例:1106010132CRC低CRC高 发送代码:3AH,31H,31H,30H,36H,30H,31H,30H,31H,33H,32H,31H,31H,0DH,0AH意义如下:<1设备地址和上面的相同。2命令号:写模拟量的命令号固定为06。3偏移或数据:表明了下置的数据是偏移量还是直接数据,00:偏移量;01:直接数据<4下置的数据高16位,低16位:表明需要下置的模拟量数据。比如例子中就把地址为06H的设备的DA输出电压为0132(不含偏置).现在这个设备用2.048V基准,输出电压范围为:0-4。095V,输出数据为:04095(12位AD)<5>注意此命令一条只能下置一个模拟量的状态. 设备响应:如果成功把计算机发送的命令原样返回,否则不响应.。7、读卡号(家族ID:0255,设备ID:0-65535): 计算机发送命令:设备地址 命令号65 需要读取的卡号类别 CRC校验的高8位 CRC校验的低8位 例1:116501CRC低CRC高 ,假设卡的家族ID为:245,卡的设备码为:00325发送代码:3AH,31H,31H,36H,35H,30H,31H,44H,32H,0DH,0AH回答代码:3AH,31H,31H,36H,35H,30H,31H,32H,34H,35H,33H,37H,0DH,0AH例2:116502CRC低CRC高 ,假设卡的家族ID为:245,卡的设备码为:00325发送代码:3AH,31H,31H,36H,35H,30H,31H,44H,32H,0DH,0AH回答代码:3AH,31H,31H,36H,35H,30H,31H,30H,30H,33H,32H,35H,44H,38H,0DH,0AH意义如下:<1>设备地址和上面的相同。2命令号: 读卡号命令为65。<3>需要读取的卡号类别:读家族ID为01,读设备ID为02,但家族ID回答时至回答3位,设备ID回答时要回答5位.设备响应:家族ID回答时至回答3位,设备ID回答时要回答5位。.8、设置方波,三角波,正弦波DA输出: 两个参数:A,F 。A是相位:范围:0-4095,F是频率:范围:0-9999(实际最高12.5MHz)计算机发送命令:设备地址 命令号66 需要输出波形类别 参数A 参数F CRC校验的高8位 CRC校验的低8位 例1:11660100002500CRC低CRC高 ,当前相位为360 0/4095=0,频率为2500Hz的方波发送代码:3AH,31H,31H,36H,36H,30H,31H,30h,30h,30h,30h,32h,35h,30h,30H,34H,41H,0DH,0AH /校验码:4A例2:116602 00001000CRC低CRC高 ,当前相位为360 0/4095=0,频率为1000Hz的正弦波发送代码:3AH,31H,31H,36H,36H,30H,32H,30h,30h,30h,30h,31h,30h,30h,30H,34H,46H,0DH,0AH /校验码:4F意义如下:<1>设备地址和上面的相同.2命令号: 波形输出命令为66。<3>需要输出波形类别:方波为01,三角波为02,正弦波为03设备响应:设备响应:如果成功把计算机发送的命令原样返回,否则不响应.4 / 4