UC7410通讯机使用说明07.10.17

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

UC7410通讯机使用说明07.10.17
UC7410通讯机使用说明
邓小刚06.5
一:UC7410使用
1、在WINDOWS界面安装UC程序,可以在C盘或D盘下。

2、UC7410通讯口
UC7410通讯机共有八个通讯串口,支持RS-232, RS-422, or2-wire RS-485。

当通讯时绿灯闪烁表示发数据包,黄灯闪烁表示收数据包,数据正常通讯上来时只有黄灯闪烁,其接线方式如下图:
还有两个以太网口,因此采集来的数据即可以通过以太网送到PLC,也可以通过串口送到PLC。

3、更改UC7410的IP地址:
以UC7410的缺省IP地址(192.168.3.127)更改为1.101.2.1为例。

运行MOXA软件进入此画面,先telnet 192.168.3.127↓,(以通讯机上的IP地址为准)(Ц表示为空格)
Moxa login(用户名):root↓
Password(密码):root↓
root@Moxa:#cdЦ/etc↓
root@Moxa:#cdЦnetwork↓,
root@Moxa:#viЦinterfaces↓进入/etc/network/interfaces文件下将IP地址更改为自己需要的IP地址(如下图)。

(“I”键为修改,”delete”键为删除,每次修改一行,完后按”ESC”键返回,再敲”:WQ”回车,重复把IP地址改完)
1.101.2.1 255.0.0.0 2.101.2.1
255.0.0.0
改完后断电重启IP地址就修改完成。

对于通讯机IP地址的定义:1号机为1.101.2.1(0号网)
2.101.2.1(1号网)
2号机为1.101.2.2(0号网)
2.101.2.2(1号网)
3号机为1.101.2.3(0号网)
2.101.2.3(1号网)
3号机为1.101.2.4(0号网)
2.101.2.4(1号网)
5号机为1.101.2.5(0号网)
2.101.2.5(1号网)
4、通讯程序编译和下载
以通讯程序一个进程(mbplc文件名)放在UC/usr/tongxun(项目名)/mbplc 下为例:
运行MOXA软件,先进入cdЦ/usr↓
cdЦtongxun↓ (目录下)
cdЦmbplc↓(与相应的机组文件名一致)
make↓ (进行编译,一定不能有错)
在/usr/baishan/mbplc目录下,
先ftp 1.101.2.1↓ (以通讯机上的IP地址为准)
Moxa login:root↓ (用户名)
Password:root↓ (密码)
Ftp>putЦ./mbplc-release↓ (下载程序) 见下图
ftp>bye (离开)
运行程序:telnet 1.101.2.1↓
Moxa login:root↓ (用户名)
Password:root↓ (密码)
root@Moxa:#chmodЦ+xЦmbplc-release↓(转换成可以执行文件(绿色),只有第一次下载程序需要)
root@Moxa:# Ц./mbplc -release↓(可以单独运行此程序,调试时用)
5、在UC7410中添加自启动程序语句:
运行MOXA软件,先telnet 1.101.2.1↓ (以通讯机上的IP地址为准)
Moxa login:root↓ (用户名)
Password:root↓ (密码)
root@Moxa:#cdЦ/etc↓
root@Moxa:#cdЦrc.d↓
root@Moxa:#viЦrc.local↓
进入/etc/rc.d/rc.local文件里内容为:# !/bin/sh
# add you want to run daemon 加一句“Ц/root/main-release &” (“I”键为修改,”delete”键为删除,每次修改一行,完后按”ESC”键返回,再敲”:WQ”回车)
这样每次断电重启,程序能自动启动。

在调试时应先不加此语句,等调试成功后再做。

完成这些步骤后断电重启,程序将自动启动。

二、UC7410通讯程序和一些参数通讯参数修改(tongxun)
1、目前程序采用的多进程方式,因此与外部设备每一通讯为一个进程(如hc6000,temp等),其中GEPLC0文件为与GEPLC通讯的进程,MBPLC0为与quantum模块通讯的一个进程。

因此每一个需要的进程均需要编译、下载到通讯机里(方法如通讯程序编译和下载,每个编译生成的为“文件名”-release,如hc6000文件为hc6000-release)。

(说明:GEPLC0是与PLC 0#网通讯进程,GEPLC1是与PLC 1#网通讯进程。

quantum模块通讯也一样。


2、Main文件为调用各个进程的主进程,在main.txt文件里添加需要的进程名,但main.txt需要下载(put ./main.txt),不需要转换成可以执行文件。

例如需要启动另三个进程(geplc0,hc6000,temp),那么在main.txt文件添加如下三句话:
geplc0-release
hc6000-release
temp-release
3、Main文件里common.h的参数修改
#define ScanLen 400 /*各通讯设备需采集的总长度,送给PLC长度*/
#define SCANBASE 4000 /*送到PLC的数据起始地址*/
#define hc_start_pnt 347 /*交流采样hc6000往PLC送的数据包的起始地址*/
#define hc_num 10 /*从每个通讯设备读上来的数据需要上传的数量*/ #define hc_tal 1 /*通讯设备个数*/
#define ac_start_pnt 0 /*交流采样acuvim往PLC送的数据包的起始地址*/
#define ac_num 10 /*从每个通讯设备读上来的数据需要上传的数量*/ #define ac_tal 1 /*通讯设备个数*/
#define TSQ_start_pnt 20 /*调速器往PLC送的数据包的起始地址*/
#define TSQ_num 10 /*从每个通讯设备读上来的数据需要上传的数量*/
#define TSQ_tal 1 /*通讯设备个数*/
#define lici_start_pnt 40 /*励磁装置往PLC送的数据包的起始地址*/
#define lici_num 3 /*从每个通讯设备读上来的数据需要上传的数量*/ #define lici_tal 1 /*通讯设备个数*/
#define yyzz_start_pnt 50 /*油压装置往PLC送的数据包的起始地址*/
#define yyzz_num 10 /*从每个通讯设备读上来的数据需要上传的数量
*/
#define fuji_start_pnt 70 /*辅机往PLC送的数据包的起始地址*/
#define fuji_num 10 /*每个需要上传数据的数量*/
#define fuji_tal 1 /*通讯设备个数*/
#define ion7300_start_pnt 90 /*往PLC送的数据包的起始地址*/
#define ion7300_num 10 /*每个从通讯设备读上来的数据需要上传的数量*/
#define ion7300_tal 1 /*通讯设备个数*/
#define pml_start_pnt 110 /*往PLC送的数据包的起始地址*/
#define pml_num 10 /*从每个通讯设备读上来的数据需要上传的数量*/
#define pml_tal 1 /*通讯设备个数*/
#define soe_start_pnt 0 /*SOE装置往PLC送的数据包的起始地址*/
#define soe_ptr_num 50 /*SOE数据指针反转数,*/
#define soe_num 251 /*需要上传的数量为soe_ptr_num*5+1,*/
#define soe_tal 1 /*通讯设备个数*/
#define tem_start_pnt 251 /*温度巡检往PLC送的数据包的起始地址*/
#define tem_num 96 /*每个通讯设备需要上传数据的数量*/
#define tem_tal 1 /*通讯设备个数*/
#define tem_start_pnt232 160 /*往PLC送的数据包的起始地址*/
#define tem_num232 5 /*通讯设备需要上传数据的数量*/
#define ws_kwh_dl645_start_pnt 170 /*威胜电度表往PLC送的数据包的起始地址*/
#define ws_kwh_dl645_num 5 /*从每个通讯设备读上来的数据需要上传的数量*/
#define ws_kwh_dl645_tal 1 /*通讯设备个数*/
对“#define hc_start_pnt 0”的解释:是各设备在程序里(发送数据包)一个排列顺序的地址,如:现有一个温度巡检(96个通讯量)、一个励磁通讯(8个通讯量),一个交流采样(10个通讯量);其排列的顺序是先温度巡检后励磁通讯再交流采样,那么三个通讯设备填的地址分别为:0,96,96+8。

4、在MBPLC文件(geplc0文件亦一样)通常需要修改的地方(在main.h):
/*网络通讯启动标志和IP地址*/
#define DEST_IP "1.10.2.3" /*0#网络PLC IP地址*/
5、以交流采样通讯进程(hc6000)为例:
在文件ComInit.c里:
/* initialize the port 2 for hc6000交流采样通讯参数设计*/
rlen = RS485_2WIRE_MODE; (RS232改为RS232_MODE)ioctl(ufd[HC_PORT], MOXA_SET_OP_MODE, &rlen);
term.c_cflag = B9600|CS8|CREAD|CLOCAL; (需要更改的)term.c_iflag = 0;
term.c_oflag = 0;
term.c_lflag = 0;
term.c_cc[VMIN] = 0;
term.c_cc[VTIME] = 0;
tcflush(ufd[HC_PORT], 2);
tcsetattr(ufd[HC_PORT], TCSANOW, &term);
因此:
规约为MODBUS,RTU,9600bps,无奇偶校验,8位数据位,1个停止位term.c_cflag = B9600|CS8|CREAD|CLOCAL;
规约为MODBUS,RTU,4800bps,无奇偶校验,8位数据位,1个停止位term.c_cflag = B4800|CS8|CREAD|CLOCAL;
规约为MODBUS,RTU,9600bps,奇校验,8位数据位,1个停止位
term.c_cflag = B9600|CS8|PARODD|CREAD|CLOCAL;
规约为MODBUS,RTU,1200bps,偶校验,7位数据位,1个停止位
term.c_cflag = B1200|CS7|PARENB|CREAD|CLOCAL;
规约为MODBUS,RTU,4800bps,无奇偶校验,8位数据位,2个停止位term.c_cflag = B4800|CSTOPB|CS8|CREAD|CLOCAL;
在main.h文件里修改:
/*交流采样有关通讯参数*/
/*交流采样有关通讯参数*/
#define HC_PORT 0 /*COM1通讯端口号-1 */
#define hc_id 1 /*通讯设备站号*/
#define hc_address 0x0130 /*从通讯设备读数的起始地址*/
#define hc_num_read 46 /*从通讯设备读数的数量*/
在通讯文件(TONGXUN)里,已经做了温度巡检、交流采样、励磁、调速器(三菱、MODBUS规约)通讯程序。

需要修改文件里均有中文注解。

三、linux常用命令
1、cd
此命令是将当前工作目录更改为新的目录位置,可以使用绝对路径或相对路径指定这个新位置。

命令格式:cd directory
例如:如果当前工作目录是/usr/local。

键入命令:cd bin。

那么新的工作目录将是/usr/local/bin。

键入命令:cd /bin。

那么新的工作目录将是/bin。

注:目录分隔符为“/”。

对于交互使用,经常使用相对目录名。

不过,脚本应该总是包含绝对目录引用。

2、chmod
此命令是修改用户、组和文件所有者的文件访问权限。

文件权限允许不同级别的用户读取、写入或执行文件。

注:只有文件所有者或者超级用户才能修改文件的权限。

命令格式:chmod permission file
其中,permission是权限代码(符号或八进制形式),file是有效的文件名。

例子:% chmod 755 dir1 将目录dir1,设定成任何使用者皆有读取及执行权利,但
只有拥有者可做修改。

% chmod 700 file1 将文档file1,设定只有拥有者可以读、写和执行。

% chmod o+x file2 将文档file2,增加拥有者可以执行之权利。

% chmod g+x file3 将文档file3,增加群组使用者可执行之权利。

% chmod o-r file4 将文档file4,除去其它使用者可读取之权利。

下表列出设置文件许可权的8进制值。

可以用三个数来分别设置主、组和其它用户的许可权。

表4-1 Solaris的设置文件许可权
值说明
0 无权限
1 只可执行
2 只可写
3 可写、可执行
4 只读
5 可读、可执行
6 可读、可写
7 可读、写、执行
三种为设置执行文件与共用目录的特殊许可:setuid:4000 setgid:2000
粘着位设置:1000
3、ls
此命令是显示目录中包含的文件的名称(在默认情况下,将显示当前工作目录的内容)。

命令格式: ls directory
其中directory是希望列出其内容的目录的名称。

例如,要想列出目录/var/adm中的内容,可以使用命令:ls /var/adm
-l 显示详细列表:
域1 :文件类型和文件权限
域2 :文件连接数
域3 :文件所有者名字
域4 :文件用户组名字
域5 :文件长度
域6-8 :最近修改日期
域9 :文件名
-a 显示所有文件,包含隐藏文件(以. 起头的文件名)
-R 显示文件及所有子目录
-F 显示文件(后跟*)和目录(后跟/)
-d 与l选项合用,显示目录名而非其内容
4、pwd
此命令以绝对目录形式显示当前工作目录。

命令格式:pwd
5、rm
此命令用于删除文件。

命令格式:rm [-r] filename(filename 可为档名,或档名缩写符号。


例子:
rm file1 删除档名为file1 之文档。

rm file? 删除档名中有五个字元,前四个字元为file 之所有文档。

rm f* 删除档名中,以f 为字首之所有文档。

rm -r dir1 删除目录dir1,及其下所有文档及子目录。

6、ps命令
Ps命令是暂示系统上进程的一些非常有用的特征信息。

事实上,ps命令包含了大量的选项,可以用来监视Solaris上的应用程序性能的所有方面。

可以获得当前用户拥有的进程或当前正在系统上运行的所有进程的列表。

Ps命令的一个替代程序是使用图形用户界面(Graphical User Interface,GUI)的公共桌面环境(Common Desktop Environment,CDE)Process Manager,它显示了系统上所有进程的一个快照,并包括了许多列,分别于PID、命令名称、用户、占用的CPU时间、使用的物理内存、使用的虚拟内存、开始进程的日期及完整的命令字符串。

在默认情况下,ps命令只显示当前用户命令解释程序中创建的进程:# ps
PID TTY TIME CMD
1653 pts/4 0:00 bash
1584 pts/4 0:00 ksh
1654 pts/4 0:00 ps
它显示了4列内容:PID、执行命令的TTY、进程使用的CPU时间以及在命令行上执行的命令名。

7、kill 清除进程
在命令解释程序中,可以通过使用kill命令发送信号来控制进程。

这些信号可以导致两种结果:信息转储(这是个包含内存信息的文件)或者终止进程。

不过,在这两种可能性上还有一些变化。

例如,向一个进程发送SIGHUP信号(kill –1 进程号)会导致进程重新启动,通常还会重新读取配置文件。

另一方面,SIGKILL信号(kill –9 进程号)将导致进程终止。

如果希望终止一个进程及其所有子进程,则应发送SIGTERM (kill –15 进程号)。

Solaris支持所有标准的System V信号类型。

命令格式:kill pid。

相关文档
最新文档