9.1设置本地I/O事件与状态提示
指令 | 设置本地I/O事件与状态提示 | ||||
字节 | 参数 | 设置请求 | 读取请求 | 设置应答 | 读取应答 |
1 | m_iHeader | 0XAA | 0XAA | 0XAA | 0XAA |
2 | m_iOpCode | 0X1F | 0X30 | 0X9F | 0XB0 |
3 | m_iValueA | 0X00 | 0X00 | 0X00 | 0X00 |
4 | m_iValueB | 0X00 | 0X00 | 0X00 | 0X00 |
5 | m_iValueC | 0X00 | 0X00 | 0X00 | 0X00 |
6 | m_iValueD | 0X00 | 0X00 | 0X00 | 0X00 |
7 | m_iAmount | 0X01 | 0X00 | 0X01 | 0X01 |
8 | m_iCRCode.MSB | 0X## | 0X## | 0X## | 0X## |
9 | m_iCRCode.LSB | 0X## | 0X## | 0X## | 0X## |
10 | m_pBuffer[0] | IO.Status | IO.Status | IO.Status | |
参数-1 | IO.Status:本地I/O状态提示的执行动作 (1)Bit0:蜂鸣器输出 0X01:使能 0X00:禁止 (2)Bit1:文本格式消息输出 0X01:使能 0X00:禁止 (3)Bit2-6:未定义 (4)Bit7:二进制格式消息输出 0X01:使能 0X00:禁止 注意:不同的状态可以通过位操作以提高效率,比如 0X83 = ( 0X80 | 0X01 | 0X02 ) | ||||
设置示例 | 请求:AA 1F 00 00 00 00 01 A9 1A 01 应答:AA 9F 00 00 00 00 01 6F 7B 01 | ||||
读取示例 | 请求:AA 30 00 00 00 00 00 43 8F 应答:AA B0 00 00 00 00 01 5E A3 01 |
指令 | 数字量输出 | ||
字节 | 参数 | 设置请求 | 设置应答 |
1 | m_iHeader | 0XAA | 0XAA |
2 | m_iOpCode | 0X61 | 0XE1 |
3 | m_iValueA | 0X00 | 0X00 |
4 | m_iValueB | 0X00 | 0X00 |
5 | m_iValueC | 0X00 | 0X00 |
6 | m_iValueD | 0X00 | 0X00 |
7 | m_iAmount | N + 0X02 | N + 0X02 |
8 | m_iCRCode.MSB | 0X## | 0X## |
9 | m_iCRCode.LSB | 0X## | 0X## |
10 | m_pBuffer[0] | Channel.Start | Channel.Start |
11 | m_pBuffer[1] | Channel.Count | Channel.Count |
12 | m_pBuffer[2] | Channel.Mask[0-7] | Channel.Mask[0-7] |
参数-1 | Channel.Start:本地数字量输出的起始通道号码,0X00代表**个DO通道Q0 | ||
参数-2 | Channel.Count:需要修改的通道的数量 | ||
参数-3 | Channel.Mask[0-7]:通道的状态掩码, 0X00代表对应通道全部关闭,0XFF代表对应通道全部打开 如果Channel.Count 的数值大于 8,则 Channel.Mask 会有多个字节,每一个字节对应8个通道的开关状态 如果 Channel.Count 正好8 的倍数,则 N = Channel.Count/8 如果 Channel.Count 不是8 的倍数,则 N = Channel.Count/8 + 1 | ||
示例-1 | 请求:AA 61 00 00 00 00 03 45 C5 00 01 01 应答:AA E1 00 00 00 00 03 87 6C 00 01 01 说明:开启本地Q0通道 | ||
示例-2 | 请求:AA 61 00 00 00 00 03 85 04 00 01 00 应答:AA E1 00 00 00 00 03 47 AD 00 01 00 说明:关闭本地Q0通道 | ||
示例-3 | 请求:AA 1D 00 00 23 00 0C EF 53 AA 61 00 00 00 00 03 45 C5 00 01 01 应答:AA 9D 18 0C 23 00 10 A6 48 90 30 09 00 18 02 E8 03 00 00 00 00 01 80 01 80 应答:AA 1E 36 DC 27 00 0C B4 98 AA E1 00 00 00 00 03 87 6C 00 01 01 说明: (1)开启远程Q0通道,原理是将关闭Q0通道的指令包装成一个 0X23 属性的数据包发送给远程节点,要求远程节点解码该数据包文并执行。 (2)应答报文有两条,**条是0X1D指令的应答,其应答指令是 0X9D (3)第二条是一个数据接收报文,报文属性是0X27,其内容是二次包裹的应答指令 (4)应答内容是指令执行结果:AA E1 00 00 00 00 03 87 6C 00 01 01 | ||
示例-4 | 请求:AA 1D 00 00 23 00 0C C2 AF AA 61 00 00 00 00 03 85 04 00 01 00 应答:AA 9D 18 0C 23 00 10 BF 51 B0 30 08 00 18 02 E8 03 00 00 00 00 01 80 01 80 应答:AA 1E 36 DC 27 00 0C 99 64 AA E1 00 00 00 00 03 47 AD 00 01 00 说明: (1)关闭远程Q0通道,原理是将关闭Q0通道的指令包装成一个 0X23 属性的数据包发送给远程节点,要求远程节点解码该数据包文并执行。 (2)应答报文有两条,**条是0X1D指令的应答,其应答指令是 0X9D (3)第二条是一个数据接收报文,报文属性是0X27,其内容是二次包裹的应答指令 (4)应答内容是指令执行结果:AA E1 00 00 00 00 03 47 AD 00 01 00 |
电话:010-57222007 13911821802 邮箱:dingyg99@126.com
版权所有 © 微网高通(北京)无线技术有限公司 未经许可 严禁复制