CSM300EA远动软件调试方法
密钥的获取
4U机箱的CSM300E装置的密钥存放在/300etmp路径下,只需把它取出,改名为key.sys文件,存放到/300e/config路径下即可,对于工控机,需要在所有硬件均配置完毕后运行/300e/bin下的getcode,获取信息代码文件code.txt,然后将code.txt送交总公司密钥管理人员,获取密钥文件key.sys,然后将其放到/300e/config路径下,就可以正常运行所有进程。
需要特别注意的是,有部分需要下载的批处理文件(例如runmaster),每一行的末尾可能被Windows系统自动加入了^M,即回车换行符;下载到QNX的目标系统后,执行此批处理文件将不成功。为解决此问题,可使用UltraEdit软件的FTP功能,将此文件上载,然后重新通过FTP下载到原目标机,即可消去多余的^M,使批处理文件可以正常执行。
,以下几组程序是必不可少的:
根据需要还要选择:
1) 实时数据库管理进程dbms;
2) 通信接口硬件驱动程序sermon、serpc、sermoxa、sertcp等; 3) 内部规约处理程序lon、lonctrl、lonbuf、lonread、netread等; 4) LonWorks网络接口程序lonman; 5) 以太网接口程序netman; 6) 对时遥控切换程序selector;
7) 虚拟遥信及开入开出端口管理进程iomon;
1)具体规约程序,从qcdt、qu4f、q101、q104、q1801、qrp570、qdisa、qdnp、q476、qcdc等选择; 2)其它应用程序,如GPS、切换程序alter_main(或alter_chnl)和五防服务程序等。 3)液晶模块管理程序lcdman310或lcdman320。(分别在CSM-310E或CSM-320E装置上运行)
以下是一般所需的定值文件:
。一般,在sysinit.node 文件末尾增加,如下例所示: …..
/300e/bin/dbms & sleep 2
/300e/bin/lonbuf & sleep 1
/300e/bin/netman & sleep 1
/300e/bin/netread & sleep 1
/300e/bin/lonman & sleep 1
/300e/bin/lonread & sleep 1 /300e/bin/lon & sleep 1
/300e/bin/lonctrl & sleep 1
/300e/bin/selector –f & sleep 1
/300e/bin/sermon & sleep 1
/300e/bin/iomon & sleep 1
/300e/bin/qcdt –n0 & sleep 1
/300e/bin/qu4f –n1 &
其中,实时数据库管理进程dbms必须第一个被运行;lonbuf进程必须在lon进程启动之前被启动;netread必须在netman之后被启动;lonread必须在lonman之后被启动;而端口驱动管理进程sermon则必须在使用这些端口的RTU进程qcdt 、qu4f等之前运行。Sleep 1—— 等待1s,使硬件初始化完成。为保险起见,请勿随意改动启动顺序,尽量严格参照上述例子。
值得特别注意的是iomon进程,该进程有一个运行参数―-tx‖,x为1时,表示使用ISA总线的PCL-725卡
1) dbms.cfg —— 实时数据库定值文件;
2) 远动转发定值文件zfyc/yx/ym/yk/yt/hb/soex.dat (x=0,1,2,3…)。 3) 其它应用所需定值文件。
(地址0x2a8),缺省值为0,表示使用PC104总线的PC-8DIO-104开入开出卡(地址0x118)
数据库内所有数据都通过符号名ID来标识,定值内任意单位数据也通过符号名区别。
dbms.cfg: 实时数据库定值文件。 netman.sys: 双以太网配置文件。 wf.sys: 五防接口配置文件。 ser.cfg: 通道配置文件。
nport.sys: 多串口服务器配置文件(使用多串口服务器时配置)。 comnx.sys: 通道配置文件,x的值为通道号。 lockx.sys: 调试遥信闭锁配置文件。 yxlockykx.sys 遥信闭锁遥控配置文件。 channelx.sys: 规约配置文件。
lcdman310.sys: 液晶显示配置文件。(在CSM-310E装置上运行)lcdman320.sys: 液晶显示配置文件。(在CSM-320E装置上运行)
lcdmenu.cfg: 在CSM-310E或CSM-320E液晶显示菜单配置文件。
zfycx.dat,zfyxx.dat,zfykx.dat,zfsoex.dat,zfhbx.dat,zfymx.dat zfytx.dat测控点定值配置文件(视调度要求可选)。
一个典型的ser.cfg文件如下。 ;serial port configuration file ;ChannelNo Interface Mode Port(HEX) Parameter ;0 IPC5689 SEMI 3f8 4 ;IRQ ;1 IPC5689 DUPLEX 2f8 3 ;IRQ 2 IPC SEMI 3f8 4 ;IRQ 3 IPC DUPLEX 2f8 3 ;IRQ 4 MOXA SEMI 180 7 ;IRQ 5 MOXA SEMI 188 7 ;IRQ 6 MOXA DUPLEX 190 7 ;IRQ 7 MOXA DUPLEX 198 7 ;IRQ 8 TCP SERVER 964 192.188.110.250 ;IP address of remote client 9 TCP CLIENT 964 192.188.110.232 ;IP address of remote server 文件的第一列是通道号,从0开始,顺序排列。在多串口服务器的配置方式下该列为逻辑通道号,即将若干个实际物理通道用一个进程管理,抽象出来的一个虚的通道概念。
第二列是硬件接口,目前支持IPC5689(同步卡)、IPC(串行口)、MOXA(多串口卡)、TCP、UDP、NPORTUDP、NPSEV(多串口服务器)几种设置。
第三列是工作模式,有SEMI、DUPLEX、SERVER、CLIENT、UDP、NPSEV
等几种工作模式。依次表示半双工、全双工、以太网TCP服务器端、TCP客户端、以太网UDP、多串口服务器工作方式,NULL则表示没有此项配置。
第四列是端口号,缺省配置为0,表示没有此项配置。
第五列是相关参数设置,如果硬件接口是串行通信(包括同步、异步、全双工、半双工等),则设置为中断号;若硬件接口为以太网TCP的SERVER或者CLIENT方式,则需要设置远方IP地址(即调度端的IP地址)。在CLIENT(SERVER)工作模式下,调度端有几个SERVER(CLIENT),就需要写几行配置来获取调度的IP地址,这些行除IP地址不同外其余全部相同。在TCPSEV工作模式下,如果不同通道的端口号设置唯一,则可以将属性列的IP地址设置为―ANY‖,而不必设置为远方IP地址;若调度端为双机热备,则必须将该通道属性设置为―ANY‖;若有多个通道的端口号设置相同,则必须设置属性列中的IP地址用以区分调度。
备注:对于CSM-310E装置,2U机箱的底板上已经集成了4路扩展串口,分别对应为串口3到串口6,其I/O地址分别为268H、260H、248H、240H,中断均为7,串口1和2按正常使用;对于CSM-320E装置,底板上已经集成了8路扩展串口,分别为串口1到串口8,其I/O地址分别为a800H、a808H、a810H、a818H、
b000H、b008H、b010H、b018H,其中前四个中断为10,后四个中断为11 双以太网配置文件netman.sys。
RecvPort1: 1888 RecvPort2: 1888 SendPort: 1889 Multicast: 236.8.8.8 CardNum: 2 IPAddress1: 192.168.1.245 IPAddress2: 192.168.2.245 MasterID: 8 MasterName: RTU1
备注:如果不需要双端口接收功能,则将―RecvPort1‖和―RecvPort2‖都配置成1888即可(如上所示);如果需要双端口接收功能,可以将其中一个设成所需端口即可,默认为单端口接收。
我们需要将里面所列出的IP地址修改为本机的IP地址,(若是经CSN031接录波网段,则在IP地址后加一列,配置整数1即可)。只有一块网卡时,我们就在IPAddress2前加上―#‖屏蔽掉其他网卡的IP
根据CSC2000规约,远动主站的ID取值范围是8~11。如果使用双机热备,两台远动主站的ID、名称应该不同。缺省情况下,主机的ID为8,备机的ID为9。主站名称MasterName主机缺省值为RTU1 实时数据库定值文件:dbms.cfg。这是与通道无关的一个配置。
例子:
YC: 11ANA4000 1. YX: 11DIG010008 YK: 11CTRL07B4BC YM: 10POW0101 说明:
第一栏:YC/YX/YK/YM——定值类别,它说明后面的数据符号名所表示定值的类别为遥测/遥信/遥控/电度量;
第二栏如11ANA4000——数据符号名;
第三栏(仅YC)——工程转换系数。网络CSC-2000报文上送模拟量的值在入库之前乘以该系数,然后入库。在远动工程应用中,应视情况来确定这个系数,这个系数需要和远动定值配置文件zfycx.dat中的转发系数配合起来使用。我们在介绍转发系数时再进行详细讨论。
监控往远动系统送遥测、遥信的配置方法;虚拟装置地址为0x5配置可参考附表 例:YX: 05DIG010000
YX: 05DIG010001 YC: 05ANA6000 1
YC: 05ANA6001 1
遥信可以接收64个,遥测可以接收20个。
注意:本配置文件中无需配置SOE点; 除了50、60数据类型的控点在dbms配置系数有效之外,其他遥测控点系数配置无效(认为是1)。
远动定值文件
a) 模拟量 :zfycx.dat (x=0,1,2,3….对应远动通道1/2/3)
例子:
0 0 1 2 10ANA4000 0 说明: 0 0 1 2 10ANA4000 0 RTU序号 点号 转发系数 死区值 数据符号名 偏移量
RTU序号:以0为起点,当调度需要的点的数量比较多,或者调度要求的RTU号不同时,需要配置多个RTU号。
点号:即是调度所需要上送遥信点序号。
RTU号和点号是调度所需信息点的两个基本要素。他们一起唯一对应确定一个信息点。
转发系数:在有些情况下,入库遥测值在上送调度的时候需要乘以一个系数。我们称之为转发系数。转发系数的存在有比较复杂的因素,我们在工程应用中应该对其灵活运用,来解决不同的问题。
一般来说,测控装置上送到网络层的都是二次测量值。测控装置按照类型不同上送的数据类型也不一样。目前E系列测控装置上送的测量值为二次值浮点数。E系列以前的测控装置上送的是一个经过换算的码值。
在我们讨论如何上送遥测值之前先看下面两个关系式。
(二次测量值/二次额定值)=(码值/2048)=(一次测量值/一次额定值) 测控装置上网测量值×工程转换系数×转发系数=上送调度测量值
其中工程转换系数在配置文件的dbms.cfg中配置,转发系数在zfycx.dat中配置。
对于工程转换系数,按照装置为E系列和E系列以前的两种情况来配置,目的只有一个:将装置上网的遥测值转换为码值入库。
E系列装置上网的遥测值是实际测量的二次值,需要转换成码值。由于存在下述关系 码值=二次测量值×(2048/二次额定值) 所以,工程转换系数 = 2048/二次额定值。
注意:E系列以前的装置上网的遥测值就是码值,所以工程转换系数为1(如:30 40、30 30报文)。 南京亿能的保护电流额定值6A,电压值为120V。
对于转发系数的各种配置,目的也只有一个:将库中的码值转换成调度需要的值。
一种是将码值上送调度,调度再根据这个码值折算出一次值。这是使用最频繁的一种方式。转发系数配置成为1。调度接收到码值以后,通过下面的换算就可以得到实际的一次值。
一次测量值=一次额定值×码值/2048
第二种方式是将二次值上送调度,由调度乘以变比而折算出一次值。存在以下关系: 二次测量值=二次额定值×(码值/2048) 因此,转发系数 =二次额定值/2048 。
转换以后会产生一个问题:由于上送调度的遥测数据一般是两字节的,无法表示浮点数,小数点位将被丢弃。因此精度可能达不到要求,此时转发系数需要和调度协商,而且需要考虑乘以系数以后遥测值会不会溢出的问题。
注意:南京亿能保护的满量程为4096,在转发系数里应除以2。
值得注意的是,精度损失是在CSC-2000报文入库的时候损失的,所以只用乘以转发系数来维持精度是不可行的。 第三种方式是将一次值直接上送给调度。 由于存在以下关系:
一次测量值=码值 × (一次额定值/2048) 一次额定值=二次额定值 × 变比