TN513974a-C

TN513974a-C
使用说明书
热导式气体分析仪
通信功能(MODBUS)
型号:ZAF
INZ-TN513974a-C
目 录
1.
关于通信功能............................................................................................................................... 1
1.1 概要 .................................................................................................................................... 1
2.
规 格 .......................................................................................................................................... 2
2.1 通信规格 ............................................................................................................................ 2
3.
连 接 .......................................................................................................................................... 3
3.1 端子分配(输入输出端子CN2) ............................................................................................. 3
3.2 连接 .................................................................................................................................... 3
4.
通信条件设定............................................................................................................................... 4
4.1 设定项目 ............................................................................................................................ 4
4.2 设定操作 ............................................................................................................................ 4
5.
MODBUS通信协议 ...................................................................................................................... 5
5.1 概要 .................................................................................................................................... 5
5.2 信息的构成 ......................................................................................................................... 6
5.3 子机应答 ............................................................................................................................ 8
5.4 功能代码 ............................................................................................................................ 9
5.5 出错校验代码(CRC-16)的计算 ......................................................................................... 10
5.6 传输控制步骤 ................................................................................................................... 12
6.
信息详情 .................................................................................................................................... 14
6.1 字数据的读取[功能代码:03H].......................................................................................... 14
6.2 只读字数据的读取[功能代码:04H] .................................................................................. 16
6.3 字数据的写入(一个字)[功能代码:06H] ............................................................................ 18
6.4 连续字数据的写入[功能代码:10H] .................................................................................. 19
7.
地址映射和数据格式 .................................................................................................................. 21
7.1 数据格式 .......................................................................................................................... 21
7.2 地址映射表 ....................................................................................................................... 23
7.3 地址映射表的补充说明 ..................................................................................................... 26
8.
示范程序 .................................................................................................................................... 27
9.
故障诊断 .................................................................................................................................... 32
--
1. 关于通信功能
1.1 概要
· 本机具有通过RS-232C接口进行通信的功能,并能够与上位计算机等进行双向数据传输。
· 通信系统由主机和子机构成。每台主机可以连接1台子机(本机)。
并且,借助RS-232C
RS485变换器,还可以适应RS-485的接口环境。这样,1台主机最
多可以连接31台子机(本机)。
· 由于每次可以通信的子机仅1台,所以主机要通过在各子机设定的“站号No.”确定通信对
象。
· 为了主机和子机之间的通信,收、发信数据的格式必需一致。本机根据MODBUS通信协议确
定了通信数据格式。
[RS-232C
RS-485变换器](推荐品)
型号:KS-485(非隔离式)/ 株式会社SYSTEM SACOM
型号:SI-30A(隔离式) / 积水电子株式会社
个人计算机
个人计算机
RS-232C
RS-232C
RS-232C
RS-485
变换器
分析仪
RS-485
RS-232C
RS-232C
分析仪
--
RS-485
变换器
2. 规 格
2.1 通信规格
项 目
电气规格
通信方式
同步方式
连接形态
最多连接台数
通信速度
数据格式
传输代码
错误检测
隔离
规 格
遵循EIA RS-232-C
半双工 2线式
起止同步
1:1
1台(使用RS-485接口时为31台)
9600bps
数据长
8位
停止位
1位
奇偶校验
无
X流控制
无
HEX值(MODBUS RTU模式)
CRC-16
通信部分和其他部分为非隔离
--
3. 连 接
警告
为防止触电及故障,在所有的配线连接完成之前,请勿通电。
3.1 端子分配(输入输出端子CN2)
端子号
2
3
5
其他
信号名称
Recive Data
Transmit Data
Signal GND
NC
引脚连接图
1
6
D-Sub9P
(插针)
5
9
3.2 连接
连接用电缆请使用市售的RS-232C电缆(reverse cable)。
主机
(PC等)
分析仪
通信电缆
请连接至输入输出端子板的CN2连接器。
背 面
--
CN2 (通信连接器)
4. 通信条件设定
为了主机与本机之间能够正常通信,需要进行以下设定:
· 主机与本机的所有通信条件应设定为同一条件。
· 连接在同一线路上的所有本机需设定各不相同的“站号No.”。(应无本机设定为相同“站号
No.”)
4.1 设定项目
下表为设定项目,请通过正面的操作键进行设定。
项目
通信速度
数据长
停止位
奇偶校验设定
站号No.
出厂值
9600bps
8位
1位
无
1
设定范围
固定(不能变更)
固定(不能变更)
固定(不能变更)
固定(不能变更)
0~31
(0:通信功能停止)
4.2 设定操作
在分析仪的维护模式的画面上设定站号No.(参见使用说明书)。
--
备注
请将主机及所有站号的子
机设定为同一条件。
各仪器请设定为各不相同
的值。
5. MODBUS通信协议
5.1 概要
基于MODBUS通信协议的通信系统,通常采用“从主机开始通信,子机分别应答”的形式。
传输的顺序如下:
1) 主机向子机发送指令信息。
2) 子机确认接收的信息中的站号No.是否与本站的站号No.相同。
3) 如果一致,则执行指令,并返回应答信息。
4) 如果不一致,则丢弃接收的指令信息,等待下一个指令信息。
a) 指令信息中的站号No.与本站的站号No.一致时,
主机→子机
主机←子机
指令信息
应答信息
通信线上的数据
b) 指令信息中的站号No.与本站的站号No.不一致时,
主机→子机
主机←子机
指令信息
不应答
通信线上的数据
主机通过指定指令信息中的站号No.,可以与连接在同一线路上的多个子机分别进行通信。
--
5.2 信息的构成
指令信息及应答信息由站号No.、功能代码、数据部以及出错校验代码四个部分构成,并按此顺
序发送。
站号No.(1字节)
功能代码(1字节)
数据部(2~133字节)
出错校验代码(CRC-16) (2字节)
图5-1 信息的构成
下面就各部分进行说明:
(1)站号No.
是子机的指定编号。仅可由在分析仪维护模式画面的“站号No.”处设定的值相一致的子机来
处理指令。
(2)功能代码
是指定让子机执行的功能的代码。
详情请参见5.4节。
(3)数据部
是执行功能代码所必需的数据。数据的构成随功能代码而异。详情请参见第6章。
分析仪内的数据分配有线圈号和寄存器号,由于通信时要使用该数据,所以请指定线圈号或
寄存器号。
并且,在信息上传输的线圈号或寄存器号,通过相对地址执行。
相对地址的计算公式如下:
相对地址
=
线圈号或寄存器号
的低4位
例如,由某功能代码指定的寄存器号=40003时,
相对地址=(40003的低4位)-1
= 0002
信息上使用这一地址。
--
-1
(4)出错校验代码
是检测信号传输过程中的信息错误(位的变化)所需的代码。
MODBUS通信协议(RTU模式)使用CRC-16 (Cyclic Redundancy Check:循环冗余校验)。
CRC计算方法请参见第5.5节。
--
5.3 子机应答
(1)正常时的应答
子机生成与各信息对应的应答信息,并回复。此时的信息构成与5.2节所示相同。
数据部的内容随功能代码而异,详情请参见第6章。
(2)异常时的应答
指令信息的内容中出现传输错误之外的差错(指定了不存在的功能代码等)时,子机不执行此指
令,并生成出错应答信息回复。
出错应答信息的构成如图5-2所示,功能代码为指令信息的功能代码加上80H的数值。
出错代码如表5-1所示。
站号No.
功能代码+80H
出错代码
出错校验(CRC-16)
图5-2 出错应答信息
表5-1 出错代码
出错代码
01H
内容
功能代码出错
02H
线圈、寄存器的地址出错
03H
线圈、寄存器的个数错误
说明
指定了不存在的功能代码。
请确认功能代码。
指定了指定功能代码不能使用的线圈号、
寄存器号的相对地址。
由于指定的个数过多,指定的线圈号、寄
存器号超出其存在的范围。
(3)无应答
子机在以下情况下,无视指令信息,不做应答。
·指令信息中指定的站号No.与给子机设定的站号No.不一致时。
·出错校验代码不一致时,或检测出传输错误(奇偶校验出错)时。
·信息构成的数据间隔为24位时间以上空位时。(请参见5.6传输控制步骤)
--
5.4 功能代码
MODBUS通信协议中,按照功能代码分配寄存器号,各功能代码只对特定的寄存器号起作用。
其对应情况如表5-2,按功能分类的信息字长如表5-3所示。
表5-2 功能代码和目标地址的对应情况
No.
03H
04H
06H
10H
功能代码
功能
读取(连续)
读取(连续)
写入
写入·连续
目标
保持寄存器
输入寄存器
保持寄存器
保持寄存器
号码
4XXXX
3XXXX
4XXXX
4XXXX
寄存器号
内容
读取/写入 字数据
读取
字数据
读取/写入 字数据
读取/写入 字数据
表5-3 功能代码和信息字长
功能代码
03H
04H
06H
10H
内容
可指定数据数
60个字
15个字
1个字
60个字
字数据的读取
字数据(只读)的读取
字数据的写入
连续字数据的写入
--
指令信息
最小 最大
8
8
8
8
8
8
11
137
[单位:byte]
应答信息
最小 最大
7
133
7
133
8
8
8
8
5.5 出错校验代码(CRC-16)的计算
CRC-16为2字节(16位)的出错校验代码。计算范围为从信息的开头(站号No.)至数据部的最末尾。
子机计算接收信息的CRC,如果与接收的CRC代码不一致,则不做应答。
CRC-16的计算步骤如下所示:
1 将16位寄存器置为FFFFH。(CRC寄存器)
2 取发送信息的头1个字节(8位)和CRC寄存器进行“异或”(XOR),并将结果输入CRC寄存器
中。
3 将CRC寄存器向右移1位。向MSB中输入0。
4 如果移位前的LSB为0时,则不做任何动作。
如果移位前的LSB为1时,则取与A001H的“异或”XOR,并将结果输入CRC寄存器。
5 重复步骤3、48次(移动8位)。
6 对于发送信息的下一字节,也同样执行2~5的步骤。
同样地依次处理发送信息的每个字节。
7 发送信息的最后1个字节(除出错代码以外的最后的数据)处理结束时的CRC寄存器的值为
CRC代码。
8 将此CRC值按低8位、高8位的顺序存储到发送信息的出错校验代码中。
发送信息(例)
01 H
06H
00H
05H
03H
E8 H
99H
75H
按顺序计算此间的数据,算出CRC。
此时CRC=75 99H
将调换了CRC高位和低位的出错校验代码
加入信息中。
CRC-16的计算流程如图5-3所示。
- 10 -
∗变量的说明
CR:CRC出错校验数据(2字节)
I :指令信息计算字符的位数
J :CR计算次数的确认
开始
将CR置为FFFFH (16进制数)
将I置为1
对CR和指定信息的I字符的每个字符(1个
字节)执行“异或”(XOR)逻辑运算, 并将
其结果赋给CR。
将J置为1
CR右端位是否为1?
NO
YES
将CR仅右移1位后, 执行与A001 H 进行“异
或”(XOR)逻辑运算,并将其结果赋给CR。
将CR仅右移1位
J加1
NO
8次的计算结束了吗?
J>8
YES
I加1
NO
所有字符的计算
结束了吗?
I>所有字符的总数
YES
(按指令信息站号No.、功能代码及
数据的顺序进行计算。)
按LOW、HIGH的顺序,在指令信
息的末尾加入CR的计算结果。
结束
图5-3 CRC-16的计算流程图
- 11 -
5.6 传输控制步骤
(1)主机的通信方法
主机应遵守以下项目进行通信:
(1-1) 在发送指令信息之前,设置48位时间以上的空白状态。
(1-2) 1个指令信息的各字节的发送间隔应小于24位时间。
(1-3) 指令信息发送后,在24位时间以内进入接收待机状态。
(1-4) 接收到应答信息后,设置48位时间以上的空白状态,然后再发送下一个指令信息。[与
(1-1)意思相同]
(1-5) 为了安全,需确认应答信息,在发生无应答,出现错误时,要设置3次以上重试结构。
注)上述的定义为最不利情况下的值。为了安全,建议在编写主机侧程序时留2~3倍的余量。
具体推荐按如下编程:9600bps时、空白状态(1-1)为10ms以上、字节间隔(1-2)、从发送
到接收的转换(1-3)为1ms以内。
(2)说明
1) 帧检测
本通信系统在线路上有以下2种状态:
(a) 空白状态(线路上无数据的状态)
(b) 通信状态(线路上有数据在传输的状态)
连接在线路上的设备最初处于接收状态,监视线路。当线路上出现24位时间以上的空白状
态时,检测到上一帧结束,在下一个24位时间以内,进入接收待机状态。线路上一旦出现
数据,就开始接收,再次检测到24位时间以上的空白状态时,也即检测到该帧的结束。即
从最初的24位时间以上的空白状态到下一次出现24位时间以上的空白状态为止,线路上出
现的数据作为一帧(汇集的数据块)接收下来。
因此,一帧(指令信息)需要遵守以下规则发送。
(1-1) 指令信息发送之前,设置48位时间以上的空白状态。
(1-2) 1个指令信息的各字节的发送间隔,应在24位时间以内。
2) 子机应答
子机在检测到帧(检测到24位时间以上空白状态)后,将该帧作为指令信息进行处理。指令
信息针对本站时,须返回应答信息,该处理时间约1~30ms。(该时间随指令信息的内容而
变化。)因此,主机发送指令信息后,须遵守以下规则:
(1-3) 指令信息发送后,在24位时间以内进入接收待机状态。
- 12 -
需要5ms以上的时间间隔
(推荐10ms以上)
控制站 → 分析仪
POL1
POL2
1~30msec
控制站 ← 分析仪
POL1应答数据
线路上的数据
POL1应答数据
POL1
- 13 -
POL2
6. 信息详情
6.1 字数据的读取[功能代码:03H]
功能代码
03H
一个信息可以读取的最大字数
64个字
相对数据地址
0000H-0023H
寄存器号
40001-40036
内容
用户设定值
(1)信息的构成
指令信息的构成(字节)
应答信息的构成(字节)
站号No.
功能代码
读取开始编号
(相对地址)
读取字数
CRC数据
站号No.
功能代码
读取字节数
高位
低位
高位
低位
低位
高位
}
第一个字
数据内容
1~60
下一个字
数据内容
最后的字
数据内容
CRC数据
*读取字数据的排列
MSB
读取的字数×2
高位
低位
高位
低位
高位
低位
低位
高位
LSB
第一个字数据内容的高位字节
第一个字数据内容的低位字节
下一个字数据内容的高位字节
下一个字数据内容的低位字节
最后的字数据内容的高位字节
最后的字数据内容的低位字节
(2)功能说明
从开始读取的编号开始,读取字数连续的字信息。子机按高位字节、低位字节的顺序发送读
取的字数据。
- 14 -
(3)信息传输(例)
下面为从站号No.1读取设定值量程1的零点及量程校正浓度值的示例。
量程1的零点校正浓度设定值的相对地址:0000H 数据数:02H
指令信息的构成(字节)
高位
01H
03H
00H
低位
00H
高位
低位
低位
高位
00H
02H
C4H
0BH
站号No.
功能代码
读取开始编号
(相对地址)
读取字数
CRC数据
应答信息的构成(字节)
*读取数据的含义
量程1的零点校正浓度设定值
(第一个字数据内容)
量程1的量程校正浓度设定值
(下一个字数据内容)
第一个字
数据内容
下一个字
数据内容
CRC数据
00
00H =
0B
B8H = 3000
如果小数点位置=3,那么
设定值下限的极限 = 0.0vol%
设定值上限的极限 = 3.0vol%
注意
01H
03H
04H
站号No.
功能代码
读取字节数
关于小数点的处理,请参见7.1节。
- 15 -
0
高位
00H
低位
高位
低位
低位
高位
00H
0BH
B8H
FDH
71H
6.2 只读字数据的读取[功能代码:04H]
功能代码
04H
一条信息能读取的最大字数
64个字
相对地址
0000H-0068H
寄存器号
30001-30105
内 容
测量值及状态
(1)信息的构成
指令信息的构成(字节)
应答信息的构成(字节)
站号No.
功能代码
读取开始编号
(相对地址)
读取字数
CRC数据
站号No.
功能代码
读取字节数
高位
低位
第一个字
数据内容
高位
低位
低位
高位
下一个字
数据内容
最后的字
数据内容
CRC数据
*读取字数据的排列
MSB
读取的字数×2
高位
低位
高位
低位
高位
低位
低位
高位
LSB
第一个字数据内容的高位字节
第一个字数据内容的低位字节
下一个字数据内容的高位字节
下一个字数据内容的低位字节
最后的字数据内容的高位字节
最后的字数据内容的低位字节
(2)功能说明
从开始读取的编号开始,读取字数连续的字信息。子机按高位字节、低位字节的顺序发送读
取的字数据。
- 16 -
(3)信息传输(例)
下面为从站号No.1读取测量浓度值、小数点位置的示例。
测量浓度值的相对地址:0000H 数据数:02H
指令信息的构成
应答信息的构成
高位
01H
04H
00H
低位
00H
高位
低位
低位
高位
00H
02H
71H
CBH
站号No.
功能代码
读取开始编号
(相对地址)
读取字数
CRC数据
*读取数据的含义
第一个字数据内容
下一个字数据内容
第一个字
数据内容
下一个字
数据内容
CRC数据
0A 8DH = 2701
00 03H =
3
上述情况 浓度测量值 = 2.701 vol%
注意
01H
04H
04H
站号No.
功能代码
读取字节数
关于小数点的处理,请参见7.1节。
- 17 -
高位
0AH
低位
高位
低位
低位
高位
8DH
00H
03H
28H
76H
(小数点位置)
6.3 字数据的写入(一个字)[功能代码:06H]
功能代码
一条信息能写入的最大字数
06H
1个字
相对地址
0000H-0023H
07D0H-07D2H
寄存器号
40001-40036
42001-42003
内容
用户设定值
操作指令
(1)信息的构成
指令信息的构成(字节)
应答信息的构成(字节)
站号No.
功能代码
写入指定编号
(相对地址)
写入字数据
CRC数据
站号No.
功能代码
高位
写入指定编号
(相对地址)
低位
高位
低位
低位
高位
写入字数据
CRC数据
高位
低位
高位
低位
低位
高位
(2)功能说明
将指定的数据写入到写入指定编号的字数据中。主机按高位字节、低位字节的顺序传输写入
数据。
(3)信息传输(例)
下面为向站号No.1传输“ZERO”键指令的示例。
键操作指令 相对地址:07D0H
应答信息的构成(字节)
指令信息的构成(字节)
高位
01H
06H
07H
低位
D0H
高位
低位
低位
高位
00H
02H
08H
86H
站号No.
功能代码
写入指定编号
(相对地址)
写入字数据
CRC数据
高位
01H
06H
07H
低位
D0H
高位
低位
低位
高位
00H
02H
08H
86H
站号No.
功能代码
写入指定编号
(相对地址)
} ZERO
键指令
写入字数据
CRC数据
- 18 -
6.4 连续字数据的写入[功能代码:10H]
功能代码
10H
一条信息能写入的最大字数
64个字
相对地址
0000H-0023H
寄存器号
40001-40036
内容
用户设定值
(1)信息的构成
指令信息的构成(字节)
应答信息的构成(字节)
站号No.
功能代码
写入开始编号
(相对地址)
写入字数
站号No.
功能代码
高位
低位
高位
低位
写入字节数
第一个写入
字数据
下一个写入
字数据
最后的写入
字数据
CRC数据
写入开始编号
(相对地址)
}
}
1~60
写入字数
写入字数×2
CRC数据
高位
低位
高位
低位
高位
低位
高位
低位
低位
高位
高位
低位
低位
高位
*写入字数据的排列
MSB
LSB
第一个字数据内容的高位字节
第一个字数据内容的低位字节
下一个字数据内容的高位字节
下一个字数据内容的低位字节
最后的字数据内容的高位字节
最后的字数据内容的低位字节
(2)功能说明
从开始写入的编号开始,写入字数连续的字信息。主机将写入的字数据按高位字节、低位字
节的顺序传输。
- 19 -
(3)信息传输(例)
下面为将CH1(第一组分)报警设定值写入站号No.1的示例。
量程1报警1段设定值 = 07D0H (=2000D)
量程1报警2段设定值 = 03E8H (=1000D)
量程2报警1段设定值 = 0384H (=900D)
量程2报警2段设定值 = 0064H (=100D)
量程1报警1段设定值 相对地址:0005H 数据数:04H
指令信息的构成(字节)
站号No.
功能代码
写入开始编号
写入字数
高位
低位
高位
低位
写入字节数
第一个写入的
字数据
下一个写入的
字数据
下一个写入的
字数据
最后写入的
字数据
CRC数据
高位
低位
高位
低位
高位
低位
高位
低位
低位
高位
应答信息的构成(字节)
01H
10H
00H
05H
00H
04H
08H
07H
D0H
03H
E8H
03H
84H
00H
64H
0BH
FFH
站号No.
功能代码
写入开始编号
写入字数
CRC数据
高位
低位
高位
低位
低位
高位
01H
10H
00H
05H
00H
04H
D1H
CBH
注意 传输数据中不能包括小数点,所以如上述所示,“2.000”要作为“2000”传输。
各数据的传输格式请参见地址映射表(第7章)。
- 20 -
7. 地址映射和数据格式
7.1 数据格式
7.1.1 传输数据格式
本机所使用的MODBUS传输协议为RTU (Remote Terminal Unit)模式。传输的数据为“数值”,而
不是ASCII码。
7.1.2 关于小数点位置以及测量单位的处理
校正浓度值设定、报警的上下限值、浓度测量值的数据,在传输的数据上不附加小数点及测量单
位。
请如下述所示那样,通过使各数据的小数点位置对齐的处理,进行正确的计算。
(a) 校正浓度设定值(寄存器号 40001~40004)
报警设定值(寄存器号 40006~40009)
通过读取小数点位置数据(寄存器号 30002)可以知道与各量程对应的小数点位置。
小数点位置数据取0、1、2、3数值,
0:校正浓度设定值数据÷1
1:校正浓度设定值数据÷10
2:校正浓度设定值数据÷100
3:校正浓度设定值数据÷1000
通过上述计算可以求出正确的值。
例如:当量程1量程校正浓度设定值(寄存器号40002)=3000
量程1小数点位置(寄存器号30002)=3
时,该值为3.000vol%。
写入时,与此相反,设置3.000vol%时,请给校正浓度设定值写入3000。
小数点位置数据对各量程为固定值,不能改变。
- 21 -
(b) 测量浓度值(寄存器号 30001)
各浓度值对应的小数点位置都储存在浓度值后的寄存器中。
可以通过读取获知。
小数点位置数据的值的含义与上述(a)项相同。
例如:当测量浓度值(寄存器号30001)=1270
小数点位置(寄存器号30002)=3
时,该值为1.270 vol%。
7.1.3 测量数据超出量程时的处理
即使测量数据超出量程,画面显示为“– – – –”,但测量浓度值的读取数据也会发送此时的浓度
值。
- 22 -
7.2 地址映射表
关于各个参数的功能、设定范围的详情,请参见本体的使用说明书。
字数据[读取/写入]:功能代码[03H、06H、10H]
用户设定值
相对
地址
寄存
器号
数据
类型
存储内容
读取/写入数据
备注
对应参数
0000H
0001H
0002H
0003H
0004H
0005H
0006H
0007H
0008H
0009H
40001
40002
40003
40004
40005
40006
40007
40008
40009
40010
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
量程1 零点校正浓度
量程1 量程校正浓度
量程2 零点校正浓度
量程2 量程校正浓度
校正状态
量程1 报警1段设定值
量程1 报警2段设定值
量程2 报警1段设定值
量程2 报警2段设定值
报警模式
0~9999
小数点位置依据各量程的小数点位置
而定
cal_val[0][0]
000AH
000BH
000CH
000DH
000EH
000FH
0010H
0011H
0012H
0013H
0014H
0015H
0016H
0017H
0018H
0019H
001AH
001BH
001CH
001DH
001EH
001FH
0020H
0021H
0022H
0023H
40011
40012
40013
40014
40015
40016
40017
40018
40019
40020
40021
40022
40023
40024
40025
40026
40027
40028
40029
40030
40031
40032
40033
40034
40035
40036
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
报警开关
报警滞后
自动校正开始时间(星期)
自动校正开始时间(时)
自动校正开始时间(分)
自动校正周期
自动校正周期单位
自动校正开关
自动校正气体流通时间
键锁定开关
远程量程开关
应答速度
应答速度(温度)
应答速度(干扰组分)
保持开关
量程切换设定
背光开关
背光熄灭时间
接点输出分配(1)
接点输出分配(2)
接点输出分配(3)
接点输出分配(4)
接点输出分配(5)
量程1测量画面小数点位置
量程2测量画面小数点位置
日期、时刻显示标志
0:显示量程、1:量程联动
0~9999
小数点位置依据各量程的小数点位置
而定
0:上限1段,1:上限2段,2:下限1段
3:下限2段,4:上下限,5:上限+下限
0:报警OFF,1:报警ON
0H~14H(0~20%FS)
0H~07H(周日~周六)
0H~23H(BCD码)
0H~58H(BCD码)
1~99小时/1~40天
0:小时、1:天
0:OFF,1:ON
60~599秒
0:OFF,1:ON
0:OFF,1:ON
1~60秒
30秒
1~60秒
0:OFF,1:ON
0:量程1、1:量程2
0:OFF,1:ON
5~99分
0:常时OFF、1:零点阀门、2:量程阀门、
3:校正中、4:泵、5:上限报警、
6:上限2段报警、7:下限报警、
8:下限2段报警、9:上下限报警、
10:仪表异常、11:量程识别、12:常时ON
0:无小数点、1:小数点1位
2:小数点2位、3:小数点3位
0:不显示、1:显示
- 23 -
cal_val[1][1]
calstate
limit[0][0]
limit[1][1]
limit_mode
limit_sw
hyster
acal_week
acal_hour
acal_min
cal_cycle
cal_cycle_mode
raautcals
flow
rafkeylk
rafremtra
response[0]
response[1]
response[2]
rafholdst
range_sel
back_light_sw
back_light_time
doutsel1
doutse12
doutse13
doutse14
doutse15
disp_digit_pos[0]
disp_digit_pos[1]
disp_watch_flg
字数据[只读]:功能代码[04H]
用户数据
相对
地址
寄存
器号
数据
类型
存储内容
读取数据
0000H
0001H
0002H
0003H
0004H
0005H
0006H
0007H
0008H
0009H
000AH
000BH
000CH
000DH
000EH
000FH
0010H
0011H
0012H
0013H
0014H
0015H
0016H
0017H
0018H
0019H
~
0051H
0052H
0053H
0054H
0055H
0056H
0057H
0058H
0059H
005AH
005BH
005CH
005DH
005EH
005FH
0060H
0061H
0062H
0063H
0064H
0065H
0066H
0067H
0068H
30001
30002
30003
30004
30005
30006
30007
30008
30009
30010
30011
30012
30013
30014
30015
30016
30017
30018
30019
30020
30021
30022
30023
30024
30025
30026
~
30082
30083
30084
30085
30086
30087
30088
30089
30090
30091
30092
30093
30094
30095
30096
30097
30098
30099
30100
30101
30102
30103
30104
30105
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
~
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
INT
浓度值
小数点位置
未使用
温度值
温度的小数点位置
未使用
干扰组分浓度值
干扰组分的小数点位置
未使用
当前量程
第1段报警
第2段报警
自动校正中
零点校正中
量程校正中
分析仪异常
最新出错No.
最新出错WEEK
最新出错HOUR
最新出错MIN
未使用
前一个出错No.
前一个出错WEEK
前一个出错HOUR
前一个出错MIN
未使用
~
最早出错No.
最早出错WEEK
最早出错HOUR
最早出错MIN
未使用
Error No.4
Error No.5
Error No.6
Error No.7
Error No.8
Error No.9
自动零点校正中
自动量程校正中
保持中
画面信息(1)
未使用
未使用
键操作管理信息
最新校正履历
校正系数
模拟量输入值
年、月
日、时
分、秒
浓度值:-9999~9999
(相当于无小数点的显示值)
小数点位置:0,1,2,3
(0:浓度值÷1
1:浓度值÷10
2:浓度值÷100
3:浓度值÷1000)
0:量程1、1:量程2
0:无报警、1:报警中
0:无报警、1:报警中
0:无、1:校正中
0:无、1:校正中
0:无、1:校正中
0:无、1:出错
-1:空、4~9
1~7(周日~周六)
0~23(小时)
0~59(分)
备注
对应参数
range_id_cur
从最新出错依次发送
-1:空、4~9
1~7(周日~周六)
0~23(小时)
0~59(分)
~
-1:空、4~9
1~7(周日~周六)
0~23(小时)
0~59(分)
~
0:无、1:发生错误
0:OFF、1:ON
-1:空、0:零点校正、1:量程校正
零点/量程校正系数
校正时的模拟量输入值
年:0~99、月:1~12
日:1~31、时:0~23
分:0~59、时:0~59
- 24 -
manual_key
cal_log_area[]
字数据[写入]:功能代码[06H]
调整用(写入每次仅限1个字)
相对
地址
寄存
器号
数据
类型
存储内容
读取/写入数据
备注
对应参数
07D0H 42001 BYTE
键操作指令
entern_key
07D1H 42002 INT
07D2H 42003 INT
画面切换
本体复位
80H:MODE、40H:横向、20H:上
10H:下、0.8H:ESC、04H:ENT
02H:ZERO、01H:SPAN
1:返回测量画面
1:使本体复位
- 25 -
backto_meas_flg
reset_flg
7.3 地址映射表的补充说明
*1寄存器号30017~30085(出错记录)
出错记录可以将过去发生的错误从最新的数据开始依次读取最多14个数据。
内容如下:
出错No.:发生的出错编号 储存的值为出错编号减1
出错WEEK:此错误发生在星期几
出错HOUR:此错误发生在几点钟
出错MIN:此错误发生在几分钟
*2寄存器号30096(画面信息(1))
画面信息是为了获知仪表当前的画面状态的值。
·画面信息(1)的值的内容(各设定画面的状态)
0:测量模式画面(包括手动校正画面)
1:菜单模式画面
2:量程切换画面
3:校正设定画面
4:报警设定画面
5:自动校正设定画面
6:干扰修正
7:参数模式画面
8:维护模式画面
9:工厂模式画面
- 26 -
8. 示范程序
本章介绍在PC-9801*1及其互换机的N88-日语版BASIC*2上编写的数据读取/写入的示范程序。
这里介绍的程序仅供客户编写程序时作参考,而并非对其所有动作提供保证。
在执行本程序之前,请通过下述要领对通信条件进行确认。
·通信速度(波特率):
通过MS-DOS*3的SWITCH指令以及SPEED指令,使速度与本机相适合。
有关SWITCH指令以及SPEED指令,请参见MS-DOS的参考手册。
·数据长、停止位、奇偶校验:
在本程序内设定。条件须与本机一致。
*1 PC-9801系列为日本电气株式会社的产品。
*2 N88-日语版BASIC为日本电气株式会社的注册商标。
*3 MS-DOS为Microsoft Corporation的注册商标。
- 27 -
(a) 数据读取示例
动作说明:CH1测量浓度值一次读完。
(读取来自只读区域的连续字)
使用功能代码
:04H
读取开始的寄存器号 :30001
读取字数
:2
1000 ’------------------------------------------------------1010 ’ READ CONTINUOUS WORDS SAMPLE PROGRAM
1020 ’------------------------------------------------------1030 ’
1040 ’传输速度 = 9600bps(用MS-DOS的SPEED指令以及SWITCH指令设定)
1050 ’
1060 CLS
1070 DIM CC(255)
1080 ’
1100 ’-------------- 发送数据的设定 ----------------------1110 CC(1)=&H01
’
站号No. = 1
1120 CC(2)=&H04
’
功能代码 = 04H
1130 CC(3)=&H00
’
寄存器No.30001的相对地址(0000H)的高位字节
1140 CC(4)=&H00
’
低位字节
1150 CC(5)=&H00
’
读取字数(0002H)的高位字节
1160 CC(6)=&H02
’
低位字节
1170 COUNT=6
1200 ’
1210 ’------------- 发送数据的CRC码计算 -------------1220 GOSUB *CRC.CALC
1230 CC(7)=CRC.L
’CRC运算结果的低位字节→信息中的高位字节
1240 CC(8)=CRC.H
’CRC运算结果的高位字节→信息中的低位字节
1250 COUNT=COUNT+2
1300 ’
1310 ’------------- 数据发送 ----------------------------1320 PRINT “发送数据 > ”;
1330 OPEN “COM1:N81NN“ AS #1
’无奇偶校验时 …… “N81NN””
1340
1350
1360 FOR I=1 TO COUNT
1370 PRINT #1,CHR$(CC(I));
’写入至通信端口
1380 PRINT RIGHT$(“0”+HEX$(CC(I)),2);“ ”; ’画面上显示
1390 NEXT I
1400 ’
1410 FOR I=O TO 12000 :NEXT I
’间隔时间
1500 ’
1510 ’------------- 数据接收 ---------------------------1520 PRINT
1530 LENGTH=LOC(1)
’在接收缓冲区的数据数
1540 IF LENGTH=0 THEN PRINT “No answer” :END
1550 PRINT “接收数据 < ”;
1560 FOR I=1 TO LENGTH
1570 X$=INPUT$(1,#1)
’从接收缓冲区取数据
1580 CC(I)=ASC(X$)
’数值化后保存
1590 PRINT RIGHT$(“0”+HEX$(CC(I)),2);“ ”; ’画面上显示
1600 NEXT I
1610 CLOSE #1
1620 COUNT=LENGTH-2
1630 GOSUB *CRC.CALC
1700 ’
1710 ’------------- 通信出错确认 ----------------------1720 PRINT
- 28 -
1730 CRC.L$=RIGHT$(“0”+HEX$(CRC.L),2)
1740 CRC.H$=RIGHT$(“0”+HEX$(CRC.H),2)
1750 PRINT “CRC calculation = ”;CRC.L$;“ ”;CRC.H$
1760 IF CC(LENGTH-1)<>CRC.L THEN GOTO *ER.MESSAGE
1770 IF CC(LENGTH)<>CRC.H THEN GOTO *ER.MESSAGE
1780 GOTO *PRT.RESULT
1790 *ER.MESSAGE
1800 PRINT "Communication error"
1810 END
1900 ’
1910 ’------------- 结果显示 --------------------------1920 *PRT.RESULT
1930
1940 PRINT
1950 VALUE$=HEX$(CC(4))+RIGHT$(“0”+HEX$(CC(5)),2) ’
2byte → 1word
1960 DE$=HEX$(CC(6))+RIGHT$(“0”+HEX$(CC(7)),2) ’2byte → 1word
1970
IF VAL (“&H”+DE$)=0 THEN CONC=VAL (“&H”+VALUE$)/1
1980
IF VAL (“&H”+DE$)=0 THEN CONC=VAL (“&H”+VALUE$)/10
1990
IF VAL (“&H”+DE$)=0 THEN CONC=VAL (“&H”+VALUE$)/100
2000
IF VAL (“&H”+DE$)=0 THEN CONC=VAL (“&H”+VALUE$)/1000
2010 UNIT$=“vol%”
2020 Print “CH1测量浓度=”;CONC;UNIT
2030 END
3000 ’
3010 ’------------ CRC 计算 -----------------------------3020 *CRC.CALC
’内容参见CRC计算流程
3030 CR=&HFFFF
3040 FOR I=1 TO COUNT
3050 CR=CR XOR CC(I)
3060 FOR J=1 TO 8
3070
CT=CR AND &H1
3080
IF CR<0 THEN CH=1 ELSE CH=0:GOTO *CRC.CALC.10
3090
CR=CR AND &H7FFF
3100
*CRC.CALC.10
3110
CR=INT(CR/2)
3120
IF CH=1 THEN CR=CR OR &H4000
3130
IF CT=1 THEN CR=CR XOR &HA001
3140 NEXT J
3150 NEXT I
3160 CRC.L=CR AND &HFF
’CRC计算低位字节
3170 CRC.H=((CR AND &HFF00)/256 AND &HFF)
’CRC计算高位字节
3180 RETURN
- 29 -
(b) 数据写入示例
动作说明:经由通信切换CH1的测量量程。
(单个字写入)
使用功能代码 :06H
写入寄存器号 :40026
写入数据
:1
(量程1切换为量程2)
1000 ’-----------------------------------------------------------1010 ’ WRITE 1 WORD SAMPLE PROGRAM
1020 ’-----------------------------------------------------------1030 ’
1040 ’传输速度 = 9600bps(用MS-DOS的SPEED指令以及SWITCH指令设定)
1050 ’
1060 CLS
1070 DIM CC(255)
1080 ’
1100 ’-------------- 发送数据的设定 ----------------------1110 CC(1)=&H01
’
站号No. = 1
1120 CC(2)=&H06
’
功能代码 = 06H
1130 CC(3)=&H00
’
寄存器No.40106的相对地址(0019H)的高位字节
1140 CC(4)=&H19
’
低位字节
1150 CC(5)=&H00
’
写入字数据(0001H)的高位字节
1160 CC(6)=&H01
’
低位字节
1170 COUNT=6
1200 ’
1210 ’------------- 发送数据的CRC码计算 -------------1220 GOSUB *CRC.CALC
1230 CC(7)=CRC.L
’CRC运算结果的低位字节→信息中的高位字节
1240 CC(8)=CRC.H
’CRC运算结果的高位字节→信息中的低位字节
1250 COUNT=COUNT+2
1300 ’
1310 ’------------- 数据发送 ----------------------------1320 PRINT “发送数据 > ”;
1330 OPEN “COM1:N81NN” AS #1
’无奇偶校验时 …… “N81NN”
1340
1350
1360 FOR I=1 TO COUNT
1370 PRINT #1,CHR$(CC(I));
’写入至通信端口
1380 PRINT RIGHT$(“0”+HEX$(CC(I)),2);“ ”; ’画面上显示
1390 NEXT I
1400 ’
1410 FOR I=O TO 12000 :NEXT I
’间隔时间
1500 ’
1510 ’------------- 数据接收 ---------------------------1520 PRINT
1530 LENGTH=LOC(1)
’在接收缓冲区的数据数
1540 IF LENGTH=0 THEN PRINT “No answer” :END
1550 PRINT “接收数据 < ”;
1560 FOR I=1 TO LENGTH
1570 X$=INPUT$(1,#1)
’从接收缓冲区取数据
1580 CC(I)=ASC(X$)
’数值化后保存
1590 PRINT RIGHT$(“0”+HEX$(CC(I)),2);“ ”; ’画面上显示
1600 NEXT I
1610 CLOSE #1
1620 COUNT=LENGTH-2
1630 GOSUB *CRC.CALC
1700 ’
1710 ’------------- 通信出错确认 ----------------------1720 PRINT
- 30 -
1730 CRC.L$=RIGHT$(“0”+HEX$(CRC.L),2)
1740 CRC.H$=RIGHT$(“0”+HEX$(CRC.H),2)
1750 PRINT “CRC calculation = “;CRC.L$;“ ”;CRC.H$
1760 IF CC(LENGTH-1)<>CRC.L THEN GOTO *ER.MESSAGE
1770 IF CC(LENGTH)<>CRC.H THEN GOTO *ER.MESSAGE
1780 GOTO *PRT.RESULT
1790 *ER.MESSAGE
1800 PRINT “Communication error”
1810 END
1900 ’
1910 ’------------- 结果显示 --------------------------1920 *PRT.RESULT
1930 PRINT
1940 PRINT “量程切换结束”
1950 END
3000 ’
3010 ’------------ CRC 计算 -----------------------------3020 *CRC.CALC
’内容参见CRC计算流程
3030 CR=&HFFFF
3040 FOR I=1 TO COUNT
3050 CR=CR XOR CC(I)
3060 FOR J=1 TO 8
3070
CT=CR AND &H1
3080
IF CR<0 THEN CH=1 ELSE CH=0:GOTO *CRC.CALC.10
3090
CR=CR AND &H7FFF
3100
*CRC.CALC.10
3110
CR=INT(CR/2)
3120
IF CH=1 THEN CR=CR OR &H4000
3130
IF CT=1 THEN CR=CR XOR &HA001
3140 NEXT J
3150 NEXT I
3160 CRC.L=CR AND &HFF
’CRC计算低位字节
3170 CRC.H=((CR AND &HFF00)/256 AND &HFF)
’CRC计算高位字节
3180 RETURN
- 31 -
9. 故障诊断
不能通信时,请确认下列项目。
□
□
□
□
□
□
□
□
与通信有关的所有设备是否已接通电源?
接线是否有误?
连接台数、连接距离是否在规格的范围内?
主机(上位计算机)与子机(本机)之间通信条件的设定是否一致?
□通信速度 :9600bps
□数据长 :8位
□停止位 :1位
□奇偶校验 :无(none)
收发信号的时序是否满足本说明书5.6节的条件?
主机所指定的接收信号的站号No.和连接在线路上的本机的站号No.,其设定是否一致?
连接在同一传输线路上的设备之间是否设定了相同的站号No.?
本机的站号No.是否设定了0以外的值?
设定为0时,通信功能不起作用。
- 32 -
说明书意见表
尊敬的顾客
您好,如您对本说明书有宝贵的建议、要求及其它留意到的事项,或发现本书存在难以理解的内容等
时,请具体地记在本页中并交给本公司的销售人员。
提 交 日 期
使用说明书No.
INZ-TN513974-C
使用说明书名称
热导式气体分析仪通信功能
(MODBUS)
使用说明书
页
行
年
月
日
公司名称
提交人
部门
姓名
内
容
请在建议、要求、内容难以理解(错误、说明不充分、用语不统一、错字漏字、其它)��
某项上画圈“○”
发行人填写栏 担当者
受理
年
月
日 受理编号
࣯ԓ༄ଋϻᲂ
҆ᅱഭЏ‫ڮ‬ሤੀϏሂЏ‫ڮ‬೉͘ᢨ֤ੱϻԇЫᐲᯖ᢬҆ᅱᢥ೒ϲǍ
‫ڟ‬ᢔϻࣺ͘ᢨιζᨐୃ঳җሂԕ‫ػ‬ϻ֤ୖᔇ᏿Ǎ
141-0032ಾഭτГ᪈‫ڮ‬ম‫࠰ו‬঍ίΰሤ11ᆏ2‫(غ‬Gate City Ohsaki, East Tower)
http://www.fujielectric.co.jp
й៣ϗ᱾ http://www.fujielectric.co.jp/products/instruments
Ϗ‫ކ‬
εཊূ೷᯺‫ו‬Ϗज़‫׊‬ᥱ3000‫غ‬ᮺߚ࠰ؐ‫ޜ‬2729ฆ
ᩣᑼͦ200063
Telͦ021-5496-3311
Faxͦ021-6422-4662
http://www.fujielectric.com.cn/
‫ݺ‬Џ‫ڮ‬ಀᗚᎆ،‫͘ݺ‬ഭᤣಠԧऌ‫س‬ᕗ‫أ‬ഖ͘ಔᢨᢶᡅǍ
Print in China
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement