8.1 功能码与异常码
仪表支持的功能码:
| 功能码 | 名称 | 说明 |
| 03 | 读寄存器 | 单次最多读取50个寄存器 |
| 06 | 写单个寄存器 | |
| 16 | 写多个寄存器 | 本仪表本命令只支持写双寄存器,写入时必须对齐地址,不允许只写入双寄存器的一部分,读出时允许只读一部分。 |
| 01 | 读线圈 | 注意本长度是以位为单位的 |
| 05 | 写线圈 |
MODBUS异常码相应
| 代码 | 名称 | 含义 |
| 02 | 非法数据地址 | 对于本仪表来说,该错误码代表所收到的数据地址是不允许的地址 1.起始地址和传输长度的组合无效.例如: 可读寄存器地址编号为0到10,使用03命令,起始寄存器地址为9,传输长度为2个字,9+2>10,则仪表返回异常代码02. 2.本仪表的强制规定.有 : (1)03功能码命令最多一次读取50个字. (2)对于双字寄存器必须作为一个整体写入,一次写入两个字,但是读出的时候无. |
| 03 | 非法数据值 | 写入的数据不符合允许的范围 |
| 04 | 从机故障 | 当仪表正在试图执行请求的操作室,产生不可恢复的差错 |
| 07 | 不成功的编程请求 | 对于仪表来说,所接收到的命令在当前条件下无法执行. 例如:仪表当前目标值为零或者仪表显示OFL时不能启动,在这些情况下,向运行线圈写ON,将返回异常代码07. |
a.串口2通讯设置的相关说明
工作参数1 “秤号”,作为从机地址,不可通过总线修改,只可通过仪表手动设置。
工作参数4 “串行口2通讯方式”,不可通过总线修改,只可通过仪表手动设置。
工作参数3 “串行口2波特率”,不可通过总线修改,只可通过仪表手动设置。
工作参数15 “串行口2校验方式” ,不可通过总线修改,只可通过仪表手动设置。
工作参数16 “双字寄存器存储顺序” ,不可通过总线修改,只可通过仪表手动设置。
其中和标准说明书不同的列表如下:
| 4 | CONT/ READ/ BUS_r | BUS_r | 串行口2通讯方式 CONT:连续方式(C) READ:命令方式(R) BUS_r:MODBUS通讯RTU传输模式(B_r) |
| 15 | 18N2 18E1 18O1 18N1 17N2 17E1 17O1 | 18E1 | 串行口2校验方式选择(起始位|数据位|校验位|停止位,E:偶校验;O:奇校验;N:无校验。BUS_r方式只可以选前四项。) 18N2:(R / C / B_r 可选) 18E1:(R / C / B_r 可选) 18O1:(R / C / B_r 可选) 18N1:(R / C / B_r 可选) 17N2:(R / C 可选) 17E1:(R / C 可选) 17O1:(R / C 可选) |
| 16 | Hi Lo Lo Hi | Hi Lo | MODBUS双字寄存器存储顺序选择,如果参数4中没有选择MODBUS通讯方式则仪表自动跳过此项设置 Hi Lo:高字在前低字在后 Lo Hi:低字在前高字在后 |
该MODBUS传输模式为RTU模式。
一、MODBUS通讯地址分配
| 协议地址 | PLC地址 | 含义 | 说明 | |||||
| 以下内容为只读 | ||||||||
| 0000 | 40001 | 仪表当前状态1 | 位 | 说明 | ||||
| .0 | 0: 停止;1: 运行。 | |||||||
| .1 | 加料前 | |||||||
| .2 | 大投 | |||||||
| .3 | 中投 | |||||||
| .4 | 小投 | |||||||
| .5 | 定值 | |||||||
| .6 | 超欠差 | |||||||
| .7 | 报警 | |||||||
| .8 | 夹袋 | |||||||
| .9 | 拍袋 | |||||||
| .10 | 卸料 | |||||||
| .11 | 零区 | |||||||
| .12 | 供料 | |||||||
| .13 | 批次完成 | |||||||
| .14 | 缺料 | |||||||
| .15 | 0: 毛重;1: 净重。 | |||||||
| 0001 | 40002 | 仪表当前状态2 | .0 | 0: 不稳;1: 稳定。 | ||||
| .1 | 0: 正常;1: 溢出。 | |||||||
| .2 | 当前显示重量的符号+/- 0: 正号;1: 负号。 | |||||||
| 0002 | 40003 | 当前重量(仪表显示数值) | 注:当重量溢出,即仪表显示有OFL时,重量值固定返回0xFFFFFFFF。 | |||||
| 0003 | 40004 | |||||||
| 0004 | 40005 | 累计次数 | ||||||
| 0005 | 40006 | |||||||
| 0006 | 40007 | 累计重量 | ||||||
| 0007 | 40008 | |||||||
| 0008 | 40009 | 预留地址区域 | 注:预留地址区域读取数据为零 | |||||
| 0009 | 40010 | …… | …… | |||||
| 0010 | 40011 | …… | …… | |||||
| 0011 | 40012 | …… | …… | |||||
| 以下内容为可读可写 | ||||||||
| 0012 | 40013 | 单位 | 0000H:t 0001H:g 0002H:kg | |||||
| 0013 | 40014 | 小数点位置 | 0000H:0位; 0001H:1位; 0002H:2位; 0003H:3位; 0004H:4位。 | |||||
| 0014 | 40015 | 最小分度值 | 0001H:1; 0002H:2; 0005H:5; 000AH:10; 00014:20; 0032H:50。 | |||||
| 0015 | 40016 | 传感器灵敏度 | 0001H:1mV/V 0002H:2mV/V 0003H:3mV/V | |||||
| 0016 | 40017 | 最大量程 | 最大量程≤最小分度值×30000 | |||||
| 0017 | 40018 | |||||||
| 0018 | 40019 | 有砝码标定 | 有砝码零点标定 | 写入0001H时将当前重量当做零点,秤台重量稳定时才允许写入; 读时返回当前零点毫伏数。(注1) | ||||
| 0019 | 40020 | |||||||
| 0020 | 40021 | 有砝码增益标定 | 写入当前实际重量,仪表按当前毫伏数和写入重量标定增益; 读时返回当前重量的毫伏数,如果当前增益重量毫伏数为负数,则增益重量毫伏数读出为零,此时不可以标定增益。 | |||||
| 0021 | 40022 | |||||||
| 0022 | 40023 | 无砝码标定 | 无砝码零点标定 | 写入将标定为零点的毫伏数值; 读时返回当前零点毫伏数。 | ||||
| 0023 | 40024 | |||||||
| 0024 | 40025 | 无砝码增益标定 (增益毫伏数值) | 写入增益重量对应的毫伏数,仪表先暂存; 读时返回当前重量对应的毫伏数,如果当前增益重量毫伏数为负数,则增益重量毫伏数读出为零。 | |||||
| 0025 | 40026 | |||||||
| 0026 | 40027 | 无砝码增益标定 (增益重量值) | 写入和增益毫伏数对应的重量值,写入本值前必须先写入增益毫伏数,写本寄存器时利用二者进行增益标定; 读时返回0000H。 | |||||
| 0027 | 40028 | |||||||
| 0028 | 40029 | 目标值 | 配方F1.1 | 注:写入值大小应该小于等于最大量程。 | ||||
| 0029 | 40030 | |||||||
| 0030 | 40031 | 大投提前量 | 配方F1.2 | |||||
| 0031 | 40032 | |||||||
| 0032 | 40033 | 中投提前量 | 配方F1.3 | |||||
| 0033 | 40034 | |||||||
| 0034 | 40035 | 落差值 | 配方F1.4 | |||||
| 0035 | 40036 | |||||||
| 0036 | 40037 | 零区值 | 配方F1.5 | |||||
| 0037 | 40038 | |||||||
| 0038 | 40039 | 拍袋起始重量 | 配方F1.6 | |||||
| 0039 | 40040 | |||||||
| 0040 | 40041 | 超量值 | 配方F2.1 | |||||
| 0041 | 40042 | |||||||
| 0042 | 40043 | 欠量值 | 配方F2.2 | |||||
| 0043 | 40044 | |||||||
| 0044 | 40045 | T1 | 配方F3.1 0000H~0063H (0.0~9.9s) | |||||
| 0045 | 40046 | T2 | 配方F3.2 0000H~0063H (0.0~9.9s) | |||||
| 0046 | 40047 | T3 | 配方F3.3 0000H~0063H (0.0~9.9s) | |||||
| 0047 | 40048 | T4 | 配方F3.4 0000H~0063H (0.0~9.9s) | |||||
| 0048 | 40049 | T5 | 配方F3.5 0000H~0063H (0.0~9.9s) | |||||
| 0049 | 40050 | T6 | 配方F3.6 0000H~0063H (0.0~9.9s) | |||||
| 0050 | 40051 | T7 | 配方F3.7 0000H~0063H (0.0~9.9s) | |||||
| 0051 | 40052 | 落差修正次数 | 配方F4.1 0000H~0063H (00~99) | |||||
| 0052 | 40053 | 落差修正范围 | 配方F4.2 0000H~0063H (0.0%~9.9%) | |||||
| 0053 | 40054 | 落差修正幅度 | 配方F4.3 0001H:100%修正; 0002H:50%修正 0003H:25%修正 | |||||
| 0054 | 40055 | 拍袋模式 | 配方F5 0:PoFF ; 1:PF-; 2:P-d ; 3:PFd | |||||
| 0055 | 40056 | 拍袋次数1 | 配方F5.1 0000H~0063H (00~99) | |||||
| 0056 | 40057 | 拍袋次数2 | 配方F5.2 0000H~0063H (00~99) | |||||
| 0057 | 40058 | 拍袋延时 | 配方F5.3 0000H~0063H (0.0~9.9s) | |||||
| 0058 | 40059 | 拍袋有效电平时间 | 配方F5.4 0000H~0063H (0.0~9.9s) | |||||
| 0059 | 40060 | 拍袋无效电平时间 | 配方F5.5 0000H~0063H (0.0~9.9s) | |||||
| 0060 | 40061 | 小投点动有效电平时间 | 配方F6.1 0000H~0063H (0.0~9.9s) | |||||
| 0061 | 40062 | 小投点动无效电平时间 | 配方F6.2 0000H~0063H (0.0~9.9s) | |||||
| 0062 | 40063 | 连续放料次数 | 配方F7 0000H~0009H (0~9) | |||||
| 0063 | 400 | 自动清零间隔 | 0000H~0063H (00~99) | |||||
| 00 | 40065 | AD数字滤波参数 | 0000H~0009H (0~9) | |||||
| 0065 | 40066 | 判稳范围 | 0001H~0009H (1d~9d) | |||||
| 0066 | 40067 | 清零范围 | 0001H~0063H (量程的01%~99%) | |||||
| 0067 | 40068 | 零点跟踪范围 | 工作参数5:0000H~0009H (0d~9d) | |||||
| 0068 | 40069 | 配方号 | 0001H~0014H (1~20) | |||||
| 0069 | 40070 | 批次数 | 0000H~270FH (0~9999) | |||||
| 0070 | 40071 | 预留地址区域 | 注:预留地址区域读取数据均为零,写操作返回07异常码。 | |||||
| 0071 | 40072 | …… | ||||||
| 0072 | 40073 | …… | ||||||
| 0073 | 40074 | …… | ||||||
| 0074 | 40075 | …… | ||||||
| 0075 | 40076 | …… | ||||||
| 0076 | 40077 | …… | ||||||
| 以下内容为可读可写线圈 | ||||||||
| 0077 | 00078 | 上电自动清零开关 | 写:FF00H = ON 0000H = OFF 运行时不可以修改开关 读:0001H = ON 0000H = OFF | |||||
| 0078 | 00079 | 包装秤工作模式开关 | ||||||
| 0079 | 00080 | 自动打印开关 | ||||||
| 0080 | 00081 | 超欠差报警开关 | ||||||
| 0081 | 00082 | 超欠差暂停开关 | ||||||
| 0082 | 00083 | 落差修正开关 | ||||||
| 0083 | 00084 | 小投点动开关 | ||||||
| 0084 | 00085 | 无斗秤毛净重模式选择开关 | 写:FF00H = NEt 0000H = gross 读:0001H =NEt 0000H = gross | |||||
| 0085 | 00086 | 投料方式选择开关 | 写:FF00H = SL 0000H = Co 读:0001H =SL 0000H = Co | |||||
| 0086 | 00087 | 拍袋高电平结束即松袋开关 | 写:FF00H = ON 0000H = OFF 读:0001H = ON 0000H = OFF | |||||
| 0087 | 00088 | 预留地址区域 | 注:预留地址区域读取数据均为零,写操作返回07异常码。 | |||||
| 0088 | 000 | …… | ||||||
| 00 | 00090 | …… | ||||||
| 0090 | 00091 | …… | ||||||
| 0091 | 00092 | …… | ||||||
| 0092 | 00093 | …… | ||||||
| 0093 | 00094 | 开关量输出初始化 | 读:已初始化 = 1 未初始化 = 0 | 写:FF00H = ON 注:此地址区只能写FF00H | ||||
| 0094 | 00095 | 开关量输出OUT1 | 读:开关量输出有效 = 1 开关量输出无效 = 0 写:自定义开关量输出/关闭的优先级高于仪表内部产生的输出和关闭。写操作后如果想恢复原输出口功能可以通过写00094(PLC地址)命令初始化开关量输出 | |||||
| 0095 | 00096 | 开关量输出OUT2 | ||||||
| 0096 | 00097 | 开关量输出OUT3 | ||||||
| 0097 | 00098 | 开关量输出OUT4 | ||||||
| 0098 | 00099 | 开关量输出OUT5 | ||||||
| 0099 | 00100 | 开关量输出OUT6 | ||||||
| 0100 | 00101 | 开关量输出OUT7 | ||||||
| 0101 | 00102 | 开关量输出OUT8 | ||||||
| 0102 | 00103 | 开关量输出OUT9 | ||||||
| 0103 | 00104 | 开关量输出OUT10 | ||||||
| 0104 | 00105 | 开关量输出OUT11 | ||||||
| 0105 | 00106 | 开关量输出OUT12 | ||||||
| 0106 | 00107 | 运行 | 读:运行 = 1;非运行 = 0 | |||||
| 0107 | 00108 | 停止 | 读:停止 = 1;非停止 = 0 | |||||
| 0108 | 00109 | 清零 | 读:清零 = 1;未清零 = 0 | |||||
| 0109 | 00110 | 清报警 | 读:已请 = 1;未清 = 0 | |||||
| 0110 | 00111 | 选配方 | 读:恒定读出OFF(0000H) | |||||
| 0111 | 00112 | 夹松袋 | 读:夹袋 = 1;松袋 = 0 | |||||
| 0112 | 00113 | 手动卸料 | 读:卸料有效 = 1; 卸料无效 = 0 | |||||
| 0113 | 00114 | 手动小投 | 读:小投有效 = 1; 小投无效 = 0。 | |||||
| 0114 | 00115 | 打印 | 读:恒定读出OFF(0000H) | |||||
| 0115 | 00116 | 串口锁键盘(注3) | 读:已锁 = 1;未锁 = 0 | |||||
| 0116 | 00117 | 清除累计 | 读:已清 = 1;未清 = 0 | |||||
| 0117 | 00118 | 毛净重模式切换 | 读:净重 = 1;毛重 = 0 | |||||
注2:串口手动卸料与IN7开关量手动卸料共同控制手动卸料功能。即只有当串口手动卸料和开关量手动卸料都无效时,卸料才关闭。串口手动卸料和开关量手动卸料任意一个有效时,卸料则有效。
注3:此处串口键盘锁与IN8开关量键盘锁共同控制键盘的锁定与开启。即只有当串口键盘锁和开关量键盘锁都无效时,键盘才开启。串口键盘锁和开关量键盘锁任意一个有效时,键盘则关闭。
注意:用modbus修改仪表工作和配方参数时请确认仪表处于停止状态,以免出现错误。
深圳市杰曼科技有限公司下载本文