基于串行通讯的plc远程控制

基于串行通讯的plc远程控制

ID:34397844

大小:72.00 KB

页数:8页

时间:2019-03-05

基于串行通讯的plc远程控制_第1页
基于串行通讯的plc远程控制_第2页
基于串行通讯的plc远程控制_第3页
基于串行通讯的plc远程控制_第4页
基于串行通讯的plc远程控制_第5页
资源描述:

《基于串行通讯的plc远程控制》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于串行通讯的PLC远程控制可编程控制器PLC的应用绝大部分都是通过编写梯形图的方式实现程序控制的,但对于智能低压开关系统来讲,其分、断的控制往往要求由主控操作室远程控制来完成。按传统的方法,主控室要对某一个开关柜进行操作,须先发一个控制命令,PLC接收到该控制命令后,再由PLC程序执行该命令,该段程序必须用梯形图或逻辑指令编程,当开关柜数目巨大或要求多路设备同时控制时,PLC的程序编写就比较复杂,尤其是采用脉冲型输出控制而不是用电平保持型控制时更是如此。因为开关柜的分、合控制须两路继电器输出分别控制“分闸”和“合闸”,而不是由单路继电器保持输出控制,使继电器输出与开关

2、柜分合一致。考虑这些因素,本文采用串行通讯实现PLC的控制,PLC本机无须任何梯形图或逻辑指令,这样不仅实现简单而且方便可靠。一、低压监控系统设计(一)系统设计要求依据用户的实际要求,智能低压开关柜不仅能在当地手动进行分、合,而且具有系统零位、时控和远方控制的功能,其控制回路的电气控制图如图1所示。图1中SV为转换开关,当1、2通时,为当地时控方式;9、10通时为手动方式;5、6通时为远程控制。当开关柜工作在远方控制方式时,当PLC输出触点#107-#113闭合时,KM线圈加载得电,KM常开触点闭合,并形成回路使KM线圈始终得电,此时PLC输出触点#107-#113释放

3、,当PLC输出触点#105-115吸合时,KA线圈得电,KA常闭继电路断开,使KM线圈回路失电,KM常开触点断开,当KM线圈常开触点断开后,PLC#1052115输出触点释放,开关维持断开状态。图中#901-#903作为PLC的输入触点。(二)设计方案简述本系统针对低压系统的实际要求设计,实现开关柜的远程控制。主站通过电力专用modem与远方子站RTU进行双向通讯,主站发出控制命令,子站接收主站控制命令并转发到PLC,并将PLC的执行结果及时反馈给主站,控制时间在1~2s完成。监控系统分为三级:主站、变电站当地子站、PLC和仪表设备。主站借助GPS时钟精确定时,操作员可

4、将任何时候的停电和启动设置进主站,由主站自动发出控制命令,该监控系统极适合路灯及景观灯的控制。图1控制回路的电气控制原理图二、通讯协议及处理方法(一)主站与子站的通讯协议主站采用电力系统远动循环规约与子站进行通信,但远动循环规约中仅有主站对子站的单点遥控命令,为此主站端必须对CDT规约进行扩展,我们借用遥信报文的格式,将主站端需要控制的低压开关状态,用遥信报文下发到子站,为此仅需将下发的遥信报文中的开关状态内容分析出来,分别放置在yk_road[0]、yk_road[1]、yk_road[2]、yk_road[3]四个字节中,支持对32路低压断路器的控制。报文由同步字、

5、控制字和信息字三部分组成,其格式如下:同步字为6个字节:0dbh,09h,0dbh,09h,0dbh,09h;控制字为6个字节:控制字节、帧类别、帧长度、源站址、目的站址、CRC校验;信息字为帧长度×6个字节,本文因为控制点数在32个以内,所以信息字仅为6个字节:功能码、1到8组开关柜控制状态、9到16组开关柜控制状态、17到24组开关柜控制状态、备用开关柜控制状态、CRC校验。整个控制报文18个字节,这样既符合CDT规约的通信格式,又不增加RTU的通信报文分析负担。在该规约处理中,关键为实时判断出同步字头,然后根据帧类别区别遥控选择命令、遥控执行命令、遥控辙消命令、系

6、统对时和成组开关控制命令,分析出遥控数据存放在yk_road[0]~yk_road[3]中,并置相应标志,再由远动测量装置将命令进行分析转换发给PLC。实现该规约的分析方法voidinterruptCntReach1()函数如下:voidinterruptCntReach1()/*串口1每收到一个字节中 断一次的中断处理程序*/{cntreach[1]++; /*每接收一个字节,中断 接收计数器加1*/stat=sio_read(p[1],data,1);/*从串口1缓冲区读入一 个字节数据放到data[0]中*/if(ok[1]==0){/*如未判断到同步字节,以下分

7、析同步 字头*/switch(tp[1]){case0:if(data[0]==0xd7)tp[1]++; break;case1:if(data[0]==0x09)tp[1]++;  elsetp[1]=0;break;case2:if(data[0]==0xd7)tp[1]++;  elsetp[1]=0;break;case3:if(data[0]==0x09)tp[1]++;  elsetp[1]=0;break;case4:if(data[0]==0xd7)tp[1]++;  elsetp[1]=0;break;case5:if

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。