永宏基于调制解调器与VB的PLC远程通讯系统设计.docx

上传人:安*** 文档编号:17777397 上传时间:2022-05-26 格式:DOCX 页数:10 大小:20.62KB
返回 下载 相关 举报
永宏基于调制解调器与VB的PLC远程通讯系统设计.docx_第1页
第1页 / 共10页
永宏基于调制解调器与VB的PLC远程通讯系统设计.docx_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《永宏基于调制解调器与VB的PLC远程通讯系统设计.docx》由会员分享,可在线阅读,更多相关《永宏基于调制解调器与VB的PLC远程通讯系统设计.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、永宏基于调制解调器与VB的PLC远程通讯系统设计永宏基于调制解调器与VB的PLC远程通讯系统设计 ronggang 导语:永宏基于调制解调器与VB的PLC远程通讯系统设计 随着计算机和通讯技术的开展,在工业测量和控制中广泛需要远程通讯。远端PLC等下位机做消费控制,本地计算机需要实时监测或者介入控制消费现场的参数。实现以上要求的一个简便的途径是利用覆盖面广泛的公用 网,使PLC等下位机利用调制解调器MODEM和计算机的调制解调器连接通讯,即可完成硬件上的连接。如图1所示。在软件方面,由远端下位机软件控制和远程监控站软件两局部组成。考虑到本地监控站软件只做数据监测或者少许控制且编程相对简单,所以

2、本地监控站的编程软件可以直接用高级语言。 2系统概述 本文以一个实际的小水电站的泻水闸门程控工程为例,着重表达永宏PLC和PC做远程通讯的实现细节。系统的下位机控制采用永宏公司的FBs系列PLC对水库泻水闸门进展开度检测和开度控制,监控站的界面编程采用VB6.0编写。 硬件配置:远端FBs-CB25+ FBs-10MAUECOM外置MODEMPWS1711 本地PC含普通内置MODEM 该系统主要控制要求,通过FBs-10MA外接一个旋转编码器检测闸门所在位置,然后跟据现场人机界面或PC端下游5Km处的设定位置来控制牵引闸门的马达正反转,进而使闸门上升或者下降到指定的位置。FBs-CB25所扩

3、展得到的通讯口2RS485用于PWS1711的通讯,通讯口1RS232用于连接MODEM,另外,主机上的可USB口用于连接调试用的笔记本电脑。 3调制解调器工作方式和设定 3.1 调制解调器工作原理 调制解调器分成两种形式,命令形式和联机形式。当调制解调器没有和其它设备连接时,其处于命令形式,这时下达给调制解调器的指令时作调制解调器本身设定或动作用的。当调制解调器已经和其它的设备连接上时,此时调制解调就是处于联机形式,所有在此时由计算机送到调制解调器的讯息都将由经 线传送到其它设备上。 用于控制调制解调器的特定指令集被称为“AT指令集,通过该指令集,从最根本的音量控制到内建参数设置的改变,都可

4、以由VB经过串行端口而对调制解调器下达控制指令。AT命令集是调制解调器通讯接口的工业标准。所有的AT命令都以字符AT开场,作为前缀。前缀AT用以引起调制解调器的留意Attention检测计算机串行通讯口发送信号的速率,识别字符格式,包括字符长度和奇偶设定等。 调制解调器拨号之后,等待对方调制解调器送来的载波信号。假如在一给定时间内没有检测到载波, 调制解调器自动释放线路并送回结果码NOCARRIER,假如检测到载波信号, 调制解调器即送结果码CONNECT + 波特率,就进入联机状态,即可与远方系统进展通讯。 3.2 PLC连接调制解调器原理及其设置 在该系统中, PC做为主站,必须控制调制解

5、调器主动拨号,另外,在确认调制解调器和PLC的调制解调器联机成功后控制它进入联机形式,开场存取PLC数据。主站控制调制解调器拨号连接细节见下节,这里详述PLC端对调制解调器的设置方法。 PLC端PLC上电后必须初始化调制解调器,设置成自动应答来电状态。在这里把PLC初始化调制解调器的AT指令组合称为“MODEM驱动程序。永宏PLC通过Port1来控制调制解调器,并把这种软件界面称为调制解调器专用界面。如图2设定或设定特殊暂存器R4149的高八位为55H就可以把Port1设置为调制解调器专用界面,在该界面下PLC会启用“MODEM驱动程序,此时,虽CPU仍然使用永宏标准通讯驱动程序来治理Port

6、1的通讯,但必须通过调制解调器来联机,在通讯进展前,Por t1主控权是交由MODEM驱动程序治理,此时无法对PLC作任何存取动作。“MODEM驱动程序即将调制解调器设为接收形式,并等待远方调制解调器拨号进来,一旦收发双方调制解调器联机成功,那么PLC立即脱离接收形式,而进入联机状态,Port1控制权交由永宏标准通讯驱动程序治理。此时远方调制解调器便可任意存取或者控制此PLC主机了。 调制解调器设置如图2所示,在PLC联机状态下,选取菜单中的“PLC“设定“Port1设定来到图2,选择单项选择框的第二项“透过MODEM作远程CPU_Link,该PLC一上电就通过自带的“MODEM驱动程序把Po

7、rt1设置为调制解调器专用界面。另外,通讯格式设置为同调制解调器一样的N,8,1,为进步通讯效率可以把通讯速率设置为38400bps,或更高最高为115200bps。 4 PC端程序设计 4.1 拨号程序设计 PC端将以VB6.0所带的通讯控件MSCOMM进展通讯软件的开发,利用该控件控制串口实现对MODEM的控制。控制步骤如下: 一通讯参数设置 设置串口端口号,波特率,数据位,停顿位,奇偶校验位及设置硬件握手协议,然后向MODEM发出DTR已预备好信号一便接收MODEM,程序如下: If MSComm1.PortOpen Then MSComm1.DTREnable = True Else

8、MSComm1.DTREnable = False End If 二对MODEM初始化 发出一些命令来设置参数,其中S0=nn=1自动应答.n为响铃次数;E0/E1关闭/翻开命令字符回应;Q0/Q1设置MODEM返回/不返回结果码;M0/M1关闭/翻开MODEM扬声器;Lnn=0设置MODEM扬声器音量;P/T设置MODEM脉冲/音频拨号;程序如下: If MSComm1.PortOpen Then Do While Not MSComm1.CTSHolding: Loop TXD= ATS0=1E1Q0M1L2T + Chr13 MSComm1.Output = TXD End If 三进展

9、拨号 向MODEM发出ATD命令,程序如下: MSComm1.Output=ATD & 05925998499+Chr13 当发送“ATD+ 号码 + Chr13时,MODEM就开场拨号,拨号需要一定的时间,在拨号的经过中可以不断读取MODEM的CD指示灯的状态,当 拨通后CD指示灯会点亮。并返回“CONNECT + 波特率的信息。假如MODEM向PC的回应字符串中含有Connect或者CDHolding属性值变为True检测出载波,那么表示已与远方MODEM连机了,此时可以传输数据。 当 拨通后,MODEM不再接收AT指令,要使其回到命令状态,那么必须发送“+信息,使MODEM回到命令状态,

10、然后发送“ATH+ Chr13那么可以挂断 ,程序如下: MSComm1.Output=ATH +Chr13 4.2 通讯程序设计 一永宏PLC通讯协议 永宏PLC 通讯讯息格式可概分为6个数据域位, 如下列图3所示,详细解释如下: 开始字符STX:ASCI I码之开场字符STX。 从站号码:为两位数之16进制数值。 命令号码:为两位数之16 进制数值,为由主系统要求从系统所执行之动作种别。 本文资料:本文数据可为0无本文数据500个ASCII字符。 侦误值CHECKSUM: 侦误值系将前述将各ASCII字符之16进制数码值8位长度从头至尾依序相加,但不考虑进位,因此最终结果为侦误值。 结尾字

11、符ETX:ASCI I码之结尾字符ETX之16进制数码为03H。 二读数写数 本系统操纵PLC的关键数据主要是水位的设定值PV=R0和当前值CV=R1,即要对暂存器R0进展写操纵,R1进展读操纵; 按照协议VB设计的通讯程序必须指定一个命令码,向PLC恳求数据读取,查的该命令码为“46,解释为:连续多个缓存器之数据读取。读取R1的PC命令的ASCII码写法为: “STX 01站号46命令码01连续数据个数R00001数据开场地址LRC侦误值ETX 按照协议VB设计的通讯程序必须指定一个命令码,对PLC缓存器数据写入,查的该命令码为“47,解释为:连续多个缓存器之数据写入。写入R0的PC命令的A

12、SCII码写法为: “STX 01站号47命令码01连续数据个数R00000数据开场地址XXXX写入的数据资料,16进制LRC侦误值ETX 读取当前值CV=R1,程序如下 Private Sub Timer1_Timer MSComm1.Output= Chr2+ “014601R00001+ Lrc“014601R00001+Chr3 Delay 10 /延时 CV = Val&H + MidMSComm1.Input, 7, 4 /数据处理,R0放于CV CV.Text = CV End Sub 写入设定值PV=R0,程序如下 Private Sub Command1_Click If L

13、enHexPV.Text = 4 Then PV = HexPV.Text If LenHexPV.Text = 3 Then PV = 0 + HexPV.Text If LenHexPV.Text = 2 Then PV = 00 + HexPV.Text If LenHexPV.Text = 1 Then PV = 000 + HexPV.Text /10进制转换16进制 MSComm1.Output=Chr2+ “014701R00000+ PV + +Lrc“014701R00000 & PV+Chr3 End Sub 三侦误值CHECKSUM计算 为VB的编程方便,把该计算做成单唯

14、一个子程序,依所有数据累加,舍弃进位的规那么VB的LRC编程如下: Private Function LrcDats As String Dim i Dim Sum Sum =2 For i = 1 To LenDats Sum = Sum + AscMidDats, i, 1 Next i Lrc = Right0 + HexSum + 2, 2 End Function 采用基于MODEM通讯的设计极方便地实现该小电站生厂调度,在这种只需短时间连接控制的系统应用上可以大幅度地减小通讯本钱,具有一定的推广价值。另外,通过MODEM的连接,利用永宏编程软件可以实现该设备的远程程序调试修改,通过两个MODEM还可以实现两台远程PLC的CPU连接通讯等。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁