1 引 言
在自来水生产企业,采水有一部分来自于远离厂区的取水井群,取水点往往无人值守,为了实现中控室值班人员对水井电动机的运行情况监测和控制,为济宁某自来水厂开发了这套远程监控系统。井群电动机由松下FPlPLC控制,并由电压、电流变送器采集现场运行数据,利用调制解调器与当地电话网互连。在中控室的微机上,水厂中央控制室的值班人员可以看到水井电动机的运行状态及电压电流运行参数,并可以直接控制水井电动机的起停。
2 系统硬件配置及其功能
2.1 智能Modem
要实现PC微机与PLC的远程通信,两地各采用一台智能Modem,通过公用电话网连接起来。图1所示为智能Modem的构造框图。智能Modem与普通Modem的主要区别是他内部配
置了CPU,这使得智能Modem除了应具有调制解调功能外,还增加了如下新功能:
(1)自动拨号与自动应答功能。
(2)差错检测与控制功能。
(3)流量控制功能。
(4)速度变换与协调功能。
(5)遥控功能。
(6)数据压缩功能等 。
2.2 系统硬件连接及通信原理
进行通信之前先将各设备正确连接,图2给出连接示意图。图中为具有2个串口的FPl机型(该机型型号的后缀为C),他除了有一个RS422 EI可用于编程外,还带有一个RS232 ,是直接通过RS232 无需适配器的通信方式。对于其他FPl机型,必须配备一个RS422/RS232转换器(即适配器)。
计算机在通信软件支持下可以使智能Modem(1)自动拨号,呼叫对方,而对方的智能Modem(2)收到呼叫信号,能自动应答\摘机,从而经过电话交换机在PC和PLC之间建立起通信通路。具体来说,发信方PC机负有下列责任:
①用AT命令设置发信方Modem拨号状态、拨号方式等。
②在DTR二1(即发信方PC机准备好)条件下,把拟拨的电话号码发送给发信方Modemo
③通知发信方Modem启动自动拨号。
发信方智能Modem负有下列责任:
①按PC机送来的电话号码,生成拨号脉冲,发送到电话网的交换机去。
②按预置的等待时间,等待对方应答。
③当收到对方摘机应答信号时,产生CD信号(载波检出),通知发信方PC机已收到对方应答,表明通信通道建立,可以通信。
收信方智能Modem负有下列责任:
①当收到电话网上的交换机来的振铃信号时,置RI=1,表示有呼叫,立即通知收信方PLC。
②在DTR=1(即收信方PLC机准备好)条件下,Modem向电话网发摘机应答信号(载波信号),把Modem与电话网接通。
3 通信参数设置
3.1 PI.C的设置
在通信之前,要先对PLC的传输波特率和传输格式进行设置o PLC的设置包括两个方面:软设置和硬设置。 软设置是用手持编程器或编程工具软件FPSOFT向FPl系统寄存器No.412~416写入控制字来实现的。按照松下PLC产品数据传输格式的要求,当PLC通过Modem与计算机进行远程通信时,应按如下规定设置:选择RS232口方式与计算机通信;1个停止位\奇校验\传输位数为7位\有结束码,CR、无起始位;传输速率9 600b/so如采用手持编程器,系统寄存器中分别设定如下控制字:No,412,K1;No.413,K2;No.4
14,K1。No.415是站号设定寄存器,最大为32,如设为K1,表示PLC为一号站。如用编程工具软件FPSOFT,则系统寄存器设置窗口中“No,412 RS232CSelection‘’选择”Computer Link“,”No.416RS232CModemConnection“应在”Enable“前打”√“,即选为Modem使能。设置完成后,要伴随一个程序传人FPl,并且只有当FPl掉电后设置才能生效。
硬设置是指,在PLC的主机上有一个波特率设置开关(在编程口内),分为两档,在与计算机进行通信时必须把他放置在”9600“处。
3.2 调制解调器的设置
S寄存器中存放着Modem的运行参数。智能Modem所配置的功能可以由PC机用AT命令对S寄存器进行预置。用于远程通信的两个调制解调器在通信过程中起的作用是不同的,所以他们的命令设置也不相同,必须对他们分别设置后方可举行通信。
与计算机相连的调制解调器(即图2中的Modem(1))在通信中没有特殊要求,只要按照通用设置,将其设为出厂时的设置值即可。该设置查Modem手册可知,为”ATLJ“命令。
与PLC相连的调制解调器(即图2中的Modem(2))的设置则比较复杂,可以按下面3个步骤进行设置:
(1)首先要将其设置为”开启自动应答功能“,即使用AT命令赋予寄存器S0一个非零值n.n可以是1-255之间的任一整数,但不能为0。”值同时还表示当调制解调器摘机自动应答一个呼叫之前所检测到的振铃次数。
(2)设置DTR(数据终端准备就绪)信号检测控制命令符“AT&Dn”中的n=0,即不作任何检测。所谓DTR命令是指只要有一方发出命令即可响应,而不必检测到双方都有信号再响应。在这种通信方式情况下必须选择此功能,因为PLC一方只能被动地接受由计算机发出的命令,而不能主动向计算机发出信号,即每次只要计算机发出命令,Modem(2)就立即进入自动应答状态,或向PLC发出控制命令,或读取由PLC来的数据。
(3)为了判断拨号连接是否成功,还需要用指令ATX0设置调制解调器来提供基本呼叫进程结果码,用指令ATE0设置调制解调器来关闭字符回显,用ATV0设置选用数字结果码应答,AT&W来保存设置。
如果设置成功,调制解调器应当回送结果码OK,代表命令已执行。两个调制解调器分别设置完成后,再将其分别接到计算机和PLC上。
4 松下电工的专用通信协议
FPlPLC与计算机的通信中,采用的是松下电工公司专用的通信协议,即“MEWTOCOL-COM”标准协议。在以计算机作为主站,PLC作为从站构成的通信网络中,通信由主站发起,把命令帧发向从站,从站以响应帧做应答。MEWTOCOL-COM协议对命令帧与响应帧格式做了严格规定。其中:%为MEWTOCOL-COM的命令帧开始标志;H,L为站地址的高位与低位;#为站号特征码;发送文本:由命令码及数据组成;BCC为块检查码;CR为回车结束符。
(2)响应帧格式
响应帧分两种:若主站命令帧正确无误,则用“正确
5 PC机通信程序开发
一般来说,PC微机与PLC的远程通信实现起来并没有什么困难,只要为PC机配备该种PLC专用的通信卡和通信软件及与Modem配套的异步通信软件,按要求对通信卡进行初始化,并编制用户程序即可,或购买专业公司的组态软件,做简单开发也可。用这种方法存在的惟一问题是价格问题,在PC微机上配上PLC制造厂生产的专用通信模块及专用通信软件,常会使PC微机酌价格数倍甚至几十倍的升高,高级用户可以利用计算机的软硬件资源开发出个性化的监控界面,用户程序可以用汇编语言也可以用高级语言如VB,VC,C/C++等编写。我们采用的是C语言在直接驱动硬件层次上调用通信功能,编制通信程序,直接对通信硬件访问,速度最快。通信程序采用模块结构,包括初始化模块、Modem驱动模块、校验码生成模块、成帧模块、发送模块、接收模块及帧处理模块。模块间有些是按顺序连接,有些是通过对状态位判别连接起来,有些是对特殊字符(结束符等)的识别连接起来。其中,初始化模块由计算机串行口的初始化、Modem控制寄存器的初始化组成;编写Modem驱动程序时,不需BCC校验,所发送和接收的命令代码为Modem专用的AT命令代码。由于整个程序较长,此处省略。
6 结 语
利用电话网这种现成的公用数据网络,在两地适当配置智能Modem,可实现个人计算机与异地PLC(网络)的远程通信,但由于电话网的速度太慢,不适用于对实时性控制要求较高的场合,常用于远程故障监视系统及无人值班小型变电站倒闸操作的遥控操作。
1 引 言
在自来水生产企业,采水有一部分来自于远离厂区的取水井群,取水点往往无人值守,为了实现中控室值班人员对水井电动机的运行情况监测和控制,为济宁某自来水厂开发了这套远程监控系统。井群电动机由松下FPlPLC控制,并由电压、电流变送器采集现场运行数据,利用调制解调器与当地电话网互连。在中控室的微机上,水厂中央控制室的值班人员可以看到水井电动机的运行状态及电压电流运行参数,并可以直接控制水井电动机的起停。
2 系统硬件配置及其功能
2.1 智能Modem
要实现PC微机与PLC的远程通信,两地各采用一台智能Modem,通过公用电话网连接起来。图1所示为智能Modem的构造框图。智能Modem与普通Modem的主要区别是他内部配
置了CPU,这使得智能Modem除了应具有调制解调功能外,还增加了如下新功能:
(1)自动拨号与自动应答功能。
(2)差错检测与控制功能。
(3)流量控制功能。
(4)速度变换与协调功能。
(5)遥控功能。
(6)数据压缩功能等 。
2.2 系统硬件连接及通信原理
进行通信之前先将各设备正确连接,图2给出连接示意图。图中为具有2个串口的FPl机型(该机型型号的后缀为C),他除了有一个RS422 EI可用于编程外,还带有一个RS232 ,是直接通过RS232 无需适配器的通信方式。对于其他FPl机型,必须配备一个RS422/RS232转换器(即适配器)。
计算机在通信软件支持下可以使智能Modem(1)自动拨号,呼叫对方,而对方的智能Modem(2)收到呼叫信号,能自动应答\摘机,从而经过电话交换机在PC和PLC之间建立起通信通路。具体来说,发信方PC机负有下列责任:
①用AT命令设置发信方Modem拨号状态、拨号方式等。
②在DTR二1(即发信方PC机准备好)条件下,把拟拨的电话号码发送给发信方Modemo
③通知发信方Modem启动自动拨号。
发信方智能Modem负有下列责任:
①按PC机送来的电话号码,生成拨号脉冲,发送到电话网的交换机去。
②按预置的等待时间,等待对方应答。
③当收到对方摘机应答信号时,产生CD信号(载波检出),通知发信方PC机已收到对方应答,表明通信通道建立,可以通信。
收信方智能Modem负有下列责任:
①当收到电话网上的交换机来的振铃信号时,置RI=1,表示有呼叫,立即通知收信方PLC。
②在DTR=1(即收信方PLC机准备好)条件下,Modem向电话网发摘机应答信号(载波信号),把Modem与电话网接通。
3 通信参数设置
3.1 PI.C的设置
在通信之前,要先对PLC的传输波特率和传输格式进行设置o PLC的设置包括两个方面:软设置和硬设置。 软设置是用手持编程器或编程工具软件FPSOFT向FPl系统寄存器No.412~416写入控制字来实现的。按照松下PLC产品数据传输格式的要求,当PLC通过Modem与计算机进行远程通信时,应按如下规定设置:选择RS232口方式与计算机通信;1个停止位\奇校验\传输位数为7位\有结束码,CR、无起始位;传输速率9 600b/so如采用手持编程器,系统寄存器中分别设定如下控制字:No,412,K1;No.413,K2;No.4
14,K1。No.415是站号设定寄存器,最大为32,如设为K1,表示PLC为一号站。如用编程工具软件FPSOFT,则系统寄存器设置窗口中“No,412 RS232CSelection‘’选择”Computer Link“,”No.416RS232CModemConnection“应在”Enable“前打”√“,即选为Modem使能。设置完成后,要伴随一个程序传人FPl,并且只有当FPl掉电后设置才能生效。
硬设置是指,在PLC的主机上有一个波特率设置开关(在编程口内),分为两档,在与计算机进行通信时必须把他放置在”9600“处。
3.2 调制解调器的设置
S寄存器中存放着Modem的运行参数。智能Modem所配置的功能可以由PC机用AT命令对S寄存器进行预置。用于远程通信的两个调制解调器在通信过程中起的作用是不同的,所以他们的命令设置也不相同,必须对他们分别设置后方可举行通信。
与计算机相连的调制解调器(即图2中的Modem(1))在通信中没有特殊要求,只要按照通用设置,将其设为出厂时的设置值即可。该设置查Modem手册可知,为”ATLJ“命令。
与PLC相连的调制解调器(即图2中的Modem(2))的设置则比较复杂,可以按下面3个步骤进行设置:
(1)首先要将其设置为”开启自动应答功能“,即使用AT命令赋予寄存器S0一个非零值n.n可以是1-255之间的任一整数,但不能为0。”值同时还表示当调制解调器摘机自动应答一个呼叫之前所检测到的振铃次数。
(2)设置DTR(数据终端准备就绪)信号检测控制命令符“AT&Dn”中的n=0,即不作任何检测。所谓DTR命令是指只要有一方发出命令即可响应,而不必检测到双方都有信号再响应。在这种通信方式情况下必须选择此功能,因为PLC一方只能被动地接受由计算机发出的命令,而不能主动向计算机发出信号,即每次只要计算机发出命令,Modem(2)就立即进入自动应答状态,或向PLC发出控制命令,或读取由PLC来的数据。
(3)为了判断拨号连接是否成功,还需要用指令ATX0设置调制解调器来提供基本呼叫进程结果码,用指令ATE0设置调制解调器来关闭字符回显,用ATV0设置选用数字结果码应答,AT&W来保存设置。
如果设置成功,调制解调器应当回送结果码OK,代表命令已执行。两个调制解调器分别设置完成后,再将其分别接到计算机和PLC上。
4 松下电工的专用通信协议
FPlPLC与计算机的通信中,采用的是松下电工公司专用的通信协议,即“MEWTOCOL-COM”标准协议。在以计算机作为主站,PLC作为从站构成的通信网络中,通信由主站发起,把命令帧发向从站,从站以响应帧做应答。MEWTOCOL-COM协议对命令帧与响应帧格式做了严格规定。其中:%为MEWTOCOL-COM的命令帧开始标志;H,L为站地址的高位与低位;#为站号特征码;发送文本:由命令码及数据组成;BCC为块检查码;CR为回车结束符。
(2)响应帧格式
响应帧分两种:若主站命令帧正确无误,则用“正确
5 PC机通信程序开发
一般来说,PC微机与PLC的远程通信实现起来并没有什么困难,只要为PC机配备该种PLC专用的通信卡和通信软件及与Modem配套的异步通信软件,按要求对通信卡进行初始化,并编制用户程序即可,或购买专业公司的组态软件,做简单开发也可。用这种方法存在的惟一问题是价格问题,在PC微机上配上PLC制造厂生产的专用通信模块及专用通信软件,常会使PC微机酌价格数倍甚至几十倍的升高,高级用户可以利用计算机的软硬件资源开发出个性化的监控界面,用户程序可以用汇编语言也可以用高级语言如VB,VC,C/C++等编写。我们采用的是C语言在直接驱动硬件层次上调用通信功能,编制通信程序,直接对通信硬件访问,速度最快。通信程序采用模块结构,包括初始化模块、Modem驱动模块、校验码生成模块、成帧模块、发送模块、接收模块及帧处理模块。模块间有些是按顺序连接,有些是通过对状态位判别连接起来,有些是对特殊字符(结束符等)的识别连接起来。其中,初始化模块由计算机串行口的初始化、Modem控制寄存器的初始化组成;编写Modem驱动程序时,不需BCC校验,所发送和接收的命令代码为Modem专用的AT命令代码。由于整个程序较长,此处省略。
6 结 语
利用电话网这种现成的公用数据网络,在两地适当配置智能Modem,可实现个人计算机与异地PLC(网络)的远程通信,但由于电话网的速度太慢,不适用于对实时性控制要求较高的场合,常用于远程故障监视系统及无人值班小型变电站倒闸操作的遥控操作。
举报