VB与PLC的通信

合集下载

VB与PLC通信程序(欧姆龙PLC).doc

VB与PLC通信程序(欧姆龙PLC).doc

VB与PLC通信程序(欧姆龙PLC)关于VB的MSCOMM控件可参考相关资料。

通信程序摘要如下:(1)初始化程序mport=2 ’选择COM2Mscomm1.Settings=”9600,N,8,2”’设置通信参数Mscomm1.Inputlen=0 ’读入接收缓冲区全部字符Mscomm1.OutbufferSize=256 ’设置发送缓冲区大小Mscomm1.InbufferSize=512 ’设置接收缓冲区大小Mscomm1.PortOpen=True ’打开COM2(2)发送命令程序比如读取节点号03的PLC中IR000到IR009的内容,并放到tag1字符串变量中,此时有:Dim Command, node, begin, number as stringDim Answerlen as integernode=”03”’节点号Command=”RR”’命令为读IR区begin=”0000”’从IR000开始number=10 ’读取长度Answerlen=51 ’计算接收字符串长度进行命令发送和接收应答处理:Dim FCS, I as integerDim s ,f as strings=”@”+node+Commad+begin+numberFCS=0For i=1 to Len(s)FCS=FCS xor Asc(Mid$(s,i,1) ) ’帧校验码FCSNext if=Hex$(FCS)If Len(f)=1 Then f=”0”+fCommfrm.MSComm1.Output=s + f + ”*” + CHR$(13) ’命令帧发送DoDummy=DoEvents()Loop Untill Commfrm.MSComm1.InbufferCount >= Answerlen ’等待应答帧Do tag1= Commfrm.MSComm1.InputLoop Untill Commfrm.MSComm1.InbufferCount=0 ’读完应答帧上述程序具有相当的通用性,对于其它设备不同的只是各自的数据帧格式,因而只需做相应少量修改即可。

上位机VB实现与三菱PLC的串行通讯

上位机VB实现与三菱PLC的串行通讯

上位机VB实现与三菱PLC的串行通讯上位机VB实现与三菱PLC的串行通讯1. 通行原理与方法上位机要能够通过PLC监控下层设备的状态,就要实现上位机与PLC间的通信,一般工业控制中都是采用RS232C实现。

上位机首先向PLC发送查询数据的指令(实际上是查询PLC中端子的状态和DM 区的值等),PLC接收了上位的指令后,进行校验(FCS校验码),看其是否正确,如果正确,则向上位机传送数据(包含首尾校验字节)。

否则,PLC拒绝向上位机传送数据。

上位接收到PLC传送的数据,也要判断正确与否,如果正确,则接收,否则,拒绝接收。

由于CPM1A没有提供串行通信口,我们利用其提供的外设端口实现通信。

PLC与计算机之间的连接是通过OMRON提供的专用电缆CQM1-CIF01来实现的,其硬件连接图如图1所示。

(见附图)2. PLC与计算机间的通信规约计算机与PLC间的通信是以“帧”为单位进行的,并且在通信的过程中,计算机具有更高的优先级。

首先,计算机向PLC发出命令帧,然后,PLC作出响应,向计算机发送回响应帧。

其中命令帧和响应帧的格式如下:(1) 命令帧格式。

为了方便计算机和PLC的通讯,CPM1A对在计算机连接通信中交换的命令和响应规定了相应的格式。

当计算机发送一个命令时,命令数据主准备格式如图2所示。

(见附图)其中@放在首位,表示以@开始,设备号为上位机识别所连接的PLC的设备号。

识别码为命令代码,用来设置用户希望上位机完成的操作,FCS为帧检验代码,一旦通信出错,通过计算FCS可以及时发现。

结束符为“*”和CR回车符,表示命令结束。

(2) 响应帧格式。

由PLC发出的对应于命令格式的响应帧格式如图3所示。

(见附图)其中,异常码可以确定计算机发送的命令是否正确执行。

其它的与正文中的含义相同。

正文仅在有读出数据时有返回。

3. 通信程序的设计为了充分利用计算机数据处理的强大功能,我们可以采用计算机有优先权的方式,在计算机上编写程序来实现计算机与PLC的通信,计算机向PLC发出命令发起通信,PLC自动返回响应。

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术基于VB6.0的上位机与PLC实时通信技术主要是通过VB6.0编程语言与PLC进行通信,实现实时数据的传输和控制操作。

要实现VB6.0与PLC的通信,首先需要通过串口连接VB6.0和PLC。

VB6.0中提供了MSComm控件,可用于实现与PLC的串口通信。

该控件可以配置串口的波特率、数据位、校验位等参数,并可以通过编程实现串口的打开和关闭操作。

在VB6.0中需要编写相应的程序代码,通过串口与PLC进行数据的发送和接收。

VB6.0提供了相应的函数和方法,可以用于读取和写入串口的数据。

通过与PLC进行数据交互,可以实现对PLC的监控和控制操作。

在进行通信时,需要定义好数据的格式和协议,以确保VB6.0与PLC之间能够正确地进行数据的传输和解析。

对于不同的PLC型号和厂商,通信协议可能会有所不同,因此需要按照PLC的通信协议进行编程开发。

在实时通信过程中,需要注意以下几个关键点。

要确保VB6.0与PLC的通信速度要足够快,以实现实时数据的传输和控制操作。

要确保数据的准确性和可靠性,可以通过校验位等方式进行数据的校验和验证。

还需要进行错误处理和异常处理,以避免通信故障和数据丢失等问题的发生。

通过使用VB6.0编程语言,结合PLC的串口通信功能,可以实现上位机与PLC的实时通信。

这样,就能够方便地进行工业控制和监测等操作,提高了生产效率和设备的运行稳定性。

基于VB6.0的上位机与PLC实时通信技术也为后续的数据分析和处理提供了基础。

这对于工业自动化领域的发展和应用具有重要意义。

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术VB6.0是一种编程语言,可用于开发上位机与PLC之间的实时通信技术。

PLC是一种可编程逻辑控制器,用于控制和监控自动化设备。

通过实时通信,上位机可以与PLC进行数据交换和控制操作。

1. 通信协议选择:PLC与上位机之间的通信需要选择适当的通信协议。

常见的通信协议包括Modbus、OPC、Profibus等。

根据实际需求和设备的支持情况选择合适的通信协议。

2. 串口通信:VB6.0通过串口通信与PLC进行连接。

通常采用RS232、RS485等串口通信方式。

在编程中,需要设置串口的波特率、数据位、停止位、校验位等参数。

通过VB6.0的串口通信类库,可以实现数据的读取和写入。

3. 数据采集和监控:通过VB6.0实现对PLC数据的采集和监控。

可以使用定时器触发方式,周期性的读取PLC设备的数据。

通过VB6.0的数据处理和显示功能,可以实时显示PLC设备的状态和数据信息,如温度、压力、流量等。

4. 控制指令的发送:通过VB6.0向PLC发送控制指令,实现对设备的控制。

根据PLC 的控制逻辑,编写相应的控制程序,将控制指令发送给PLC设备。

通过串口通信,将控制指令发送出去,实现设备的开关、调节等操作。

5. 异常处理:在实时通信中,可能会出现通信故障、数据错误等异常情况。

需要在编程中添加异常处理的代码,对异常情况进行处理,保证通信的稳定性和可靠性。

基于VB6.0的上位机与PLC实时通信技术可以广泛应用于自动化控制、工业监控、智能家居等领域。

通过实时通信,可以实现对设备的远程监控和控制,提高设备的自动化程度和工作效率。

在编程过程中,需要注意通信协议的选择和参数的设置,以确保通信的正确和可靠。

需要添加适当的异常处理机制,提升系统的稳定性和可靠性。

plc网口vb 通讯

plc网口vb 通讯

plc网口vb 通讯PLC网口VB通讯——实现智能化生产控制的利器随着工业自动化的快速发展,PLC(Programmable Logic Controller,可编程逻辑控制器)已经成为现代生产线上不可或缺的设备之一。

而要使PLC实现与计算机的通讯,以实现更高级别的控制和监测功能,则需要借助VB(Visual Basic)编程语言。

本文将介绍PLC网口VB通讯的基本原理以及其在实际应用中发挥的重要作用。

一、PLC网口VB通讯基本原理PLC网口VB通讯主要是通过以太网接口实现的。

PLC通过网口与上位机进行通信,由VB程序控制上位机与PLC之间的数据交换。

具体而言,PLC网口VB通讯需要解决以下几个关键问题:1. 协议选择:PLC通常支持多种通信协议,例如MODBUS、OPC等。

在选择协议时需要根据具体应用场景和PLC型号进行判断,并根据协议规范进行编程。

2. IP地址设置:为了确保上位机与PLC能够互相识别和连接,需要为PLC和上位机分配合适的IP地址,并设置子网掩码和默认网关等网络参数。

3. 数据格式与交换:在PLC网口VB通讯中,数据格式的定义和交换非常关键。

通常情况下,可以利用VB编程实现数据的读取、写入和解析,以实现与PLC之间的数据交互。

二、PLC网口VB通讯的实际应用PLC网口VB通讯在许多领域都得到了广泛的应用,为企业的生产控制和监测提供了可行的解决方案。

下面以几个实际案例进行介绍:1. 智能制造:在智能制造领域,PLC网口VB通讯可以实现生产流程的高度自动化和集成化管理。

通过与上位机的通讯,PLC 可以接收指令进行实时控制,并将生产数据反馈给上位机,以便进行数据分析和优化。

2. 物流仓储:在物流仓储领域,PLC网口VB通讯可以实现仓库的自动化控制和货物追踪。

利用上位机与PLC进行通讯,可以实时监测仓库存货情况,并对货物进行分类、分拣和入库等操作。

3. 能源管理:在能源管理领域,PLC网口VB通讯可以实现对能源设备的监控和控制。

VB与三菱PLC通信

VB与三菱PLC通信

V B与三菱P L C通信公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]VB与三菱PLC通信VB源代码下载PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。

实现PC机与PLC通信的目示、动态数据画面显示、报表显示、窗口技术等多种功能,为PLC提供良好的人机界面。

本文详并在Windows环境下,使用VB6.0开发通信程序,实现了PC机与FX系列PLC之间通信协议进行了详细的介绍,并以VB为开发工具实现了PC机与FX系列PLC的串行通信。

1前言PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。

实现PC机与PLC通信的目示、动态数据画面显示、报表显示、窗口技术等多种功能,为PLC提供良好的人机界面。

本文详并在Windows环境下,使用VB6.0开发通信程序,实现了PC机与FX系列PLC之间2PC机与PLC实现通信的条件带异步通信适配器的PC机与PLC只有满足如下条件,才能互联通信:(1)带有异步通信接口的PLC才能与带异步通信适配器的PC机互联。

还要求双方采用的总线单元”变换之后才能互联。

(2)双方的初始化,使波特率、数据位数、停止位数、奇偶校验都相同。

(3)要对PLC的通信协议分析清楚,严格地按照协议的规定及帧格式编写PC机的通信程序。

编程。

3PC机及与FX系列PLC的串行通讯3.1硬件连接PC机与FX系列PLC不能直接连接,要经过FX-232AW单元进行RS232C/RS-连接关系:3.2FX系列PLC的通信协议在PC机中必须依据互联的PLC的通信协议来编写通信程序,因此先介绍FX系列PLC的通信(1)数据格式FX系列PLC采用异步格式,由1位起始位、7位数据位、1位偶校验位及1位停止位组成,波II码。

(2)通信命令FX系列PLC有4个通信命令,它们是读命令、写命令、强制通命令、强制断命令,如下表所示器;M—辅助继电器;S—状态元件;T—定时器;C—计数器;D—数据寄存器。

vb与plc网口通讯

vb与plc网口通讯

vb与plc网口通讯在工业自动化领域,VB和PLC之间的网口通讯是非常重要的一项技术。

VB(Visual Basic)是一种基于Windows操作系统的编程语言,而PLC(Programmable Logic Controller)是一种专门用于控制工业过程的计算机控制系统。

通过实现VB与PLC之间的网口通讯,可以实现双方之间的数据交互,从而实现工业自动化系统的监控和控制。

一、背景介绍随着工业自动化的快速发展,PLC在工业控制领域中的应用越来越广泛。

而VB作为一种高级对象化、事件驱动的编程语言,具有编写人机界面友好的优点。

因此,将VB与PLC进行网口通讯,不仅可以充分发挥PLC的控制能力,还可以利用VB的强大的界面开发能力,实现工业自动化系统的可视化管理。

二、VB与PLC网口通讯的原理VB与PLC之间的网口通讯主要基于TCP/IP协议。

PLC通过提供基于TCP/IP的通信模块,作为服务器等待VB的连接请求。

而VB则作为客户端,向PLC发起连接请求。

一旦连接成功,VB就可以通过TCP/IP协议与PLC进行双向数据交互。

三、VB与PLC网口通讯的步骤1. 确定PLC的IP地址和端口号。

在进行VB与PLC的网口通讯之前,首先需要确定PLC的IP地址和端口号。

通常情况下,这些参数会在PLC的配置软件中进行设置。

2. 使用VB的Socket控件实现通信。

在VB中使用Socket控件,可以方便地实现与PLC的网口通信。

通过设置Socket的IP地址和端口号,VB可以与PLC进行连接,并通过Socket发送和接收数据。

3. 编写VB程序与PLC进行数据交互。

通过Socket控件,VB可以发送指令给PLC,以实现对PLC的控制。

同时,VB还可以从PLC中读取数据,实现对工业自动化过程的监控。

四、VB与PLC网口通讯的应用1. 监控工业过程。

通过VB与PLC的网口通讯,可以实时获取PLC中的数据,并将这些数据可视化地呈现在VB的界面上。

vb与三菱PLC的通信详解

vb与三菱PLC的通信详解

Vb6.0与三菱PLC的通信串行通信程序时,有两种方法,一种是用Windows API函数,另一种是用VB支持的通信控件MSCOMM.OCX。

使用MSCOMM.OCX控件编程方便,具有更完善的发送和接收功能。

这里采用了MSCOMM.OCX控件。

项目选用三菱FX2N-64MR型PLC,SC-09电缆作为计算机与PLC通信的连线。

连接电缆的9针端连接在计算机串口上,另一端连接在PLC的RS-422编程口。

通信格式:一个多字符帧由图1所示的五部分组成,其中和校验值是将命令码—ETX之间的字符的ASCII码(十六进制数)相加,取得所得和的最低二位数。

STX(CHR(2))和ETX(CHR(3))分别表示该字符帧的起始标起和结束标志。

(1) 起始字元STX:ASCII码的起始字元STX对应的16进制数位0x02。

无论命令信息还是回应信息,它们的起始字元均为STX,接收方以此来判知传输资料的开始。

(2) 命令号码:为两位16进制数。

所谓命令号码是指上位机要求下位机所执行的动作类别,例如要求读取或写入单点状态、写入或读取暂存器资料、强制设定、运行、停止等。

在回应信息中,下位机会将上位机接收到的命令号码原原本本的随同其它信息一同发送给上位机。

(3) 元件首地址:对应要操作的元件的相应的地址。

如从D123单元中读取数据时,要把它对应的地址:0x10F6发送给PLC。

(4) 元件个数:一次读取位元件或字元件的数量。

(5) 结束字元(ETX):ASCII码的结束字元ETX对应的16进制数为0x03。

无论命令信息还是回应信息,它们的结束字元均为ETX,接收方以此来判知此次通讯已结束。

(6) 校验码(Checksum):校验码是将STX-ETX之间的ASCII字元的16进制数值以“LRC(Longitudinal Redunda ncy Check)”法计算出1个Byte长度(两个16进制数值00-FFH)的校验码。

当下位机接收到信息后,用同样的方法计算出接收信息的校验码,如果两个校验码相同,则说明传送正确。

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

利用VB6.0 实现PC 与三菱PLC 的通信本文介绍的 PC 与三菱 FX 系列 PLC 通信,是通过 PLC 的编程口与 PC 机的串口进行的,采用编程电缆作为计算机与 PLC 通信的连线。

FX2系列PLC的编程接口采用RS-422标准,而计算机的串行口采用的是RS-232标准,因此作为实现PLC与计算机通信的接口模块FX-232AW,必须将RS-422标准转换成RS-232标准,同时在实现上述过程中采用光电隔离技术。

图1一、串口的相关知识1)串行通信的概念图2所谓“串行通信”是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。

如图2所示。

这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢2)常见的串口通信规约:目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口(RS422,RS485较远),若距离较远,需附加调制解调器(MODEM)。

最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连,且直接用RS232相连。

RS-232C: “1”=-3~-15;“0”=+3~+15速率:0~20000bps;一般传输距离:15m。

RS-422:采用平衡传输,平衡发送器、差动接收器,速率:10Mbps/15m;90Kbps/1200m抗干扰能力强。

DB9和DB25的常用信号脚说明由于FX 2-232AW 价格过贵所以我们选用选用MAXIM 公司的MAX202实现RS-232与TTL 之间的电平转换。

MAX202内部有电压倍增电路和转换电路,仅需+5V 电源就可工作,使用十分方便;选用MAX490实现RS-485与TTL 之间的转换。

每片MAX490有一对发送器/接收器,由于通信采用全双工方式,故需两片MAX490,另外只需外接4只电容即可。

PLC 的RS-422接口配接DB-25型连接器,而PC 机我们一般用DB-9型连接器。

硬件电路图如上。

二、 通信控制线的连接如图3,由于计算机的RS-232接口的4脚和5脚短接,因此,对计算机发送数据来说,PLC 总是处于数据就绪状态。

也就是说,计算机在任何时候都可以将数据送到PLC 内。

又由于RS-232的接口的20脚和6脚交叉相连接,因此,对计算机接受数据来说,就必须检测PLC 是否处于准备就绪状态。

如果6脚为1,这可以接受数据:如果6脚为0,则必须等待,直到为1时,才可以接受数据。

图3X-232AW与PLC和计算机的接线图三、FX2系列PLC与计算机之间的通信协议FX2FX2系列PLC与计算机之间的通信采用RS-232标准,数据传输格式 :FX 系列 PLC 采用异步格式,由 1 位起始位、 7 位数据位、 l 位偶校验位及 l 位停止位组成,波特率为9600bps ,字符为 ASCⅡ码。

它的传输速度固定为9600bps。

数据的格式如图4(a)所示奇偶校验。

图4(b)为字符STX(02H)的书写格式。

在图4中,七位数据必须是ASCII码,在FX2系列PLC与计算机的通信中,仅用到表1所列的那些ASCII码。

表1 FX2系列PLC与计算机通信所用的字符及其ASCII码图4 数据格式规定通信主从关系:主机的发出初始命令,PLC对其作出响应。

FX 系列 PLC 有 4 条通信命令,即读命令、写命令、强制通命令、强制断命令,分别为0、1、7、8四种命令,上位机实现对PLC的读写和强行置位。

通过ENQ、ACK和NAK,上位机协调与PLC的通信应答。

在FX2系列PLC与计算机之间进行的通信中,PLC始终处于一种“被动响应”的地位,无论是数据的读或写,都是先由计算机发出信号。

在FX2系列PLC与计算机的通信中,数据是以桢为单位发送和接受的。

其中字符ENQ、ACK和NAK作为单个控制字符,可以构成单字符桢。

其余的字符在发送或接受必须用字符STX 和ETX分别表示字符桢的起始标志和结束标志,否则将造成构桢错。

一个多字符桢由字符STX、命令码、数据、字符ETX以及和校验五部分组成,其中和校验值是将命令码到ETX 之间的所有字符的ASCII码(十六进制)相加,取所得和的最低二位数,如图5所示。

在FX2系列PLC与计算机通信所用到的命令码共有四个,如表2所示。

图5表2 FX系列PLC计算机通信所用的命令码命令码操作数功能0 X,Y,M,S,T,C,D 该位软设备的状态或字软设备内的数据1 X,Y,M,S,T,C,D 对位软设置“1”或“0”和对字软设备写数7 X,Y,M,S,T,C 对位软设备强制置“1”8 X,Y,M,S,T,C 对位软设备强制置“0”通信检测读数据在刚开始通信时,计算机首先要发送一个控制字符ENQ,去查询PLC是否作好通信的准备,同时也可以检查一下计算机与PLC的连接是否正确。

当PLC接受到该字符后,如果它处在RUN状态,则要等到本次扫描结束(即扫描到END指令)时才应答;如果它处在STOP状态,则马上应答。

若通信正常,则应答字符ACK;若通信有错,则应答字符NAK。

如果计算机发送了一个控制字符ENQ,经过5s后,什么信号也没有收到,此时计算机应再发送二次控制字符ENQ,如果还是什么信号也没有收到,则说明连接有错。

在上述情况中,当计算机接收到来自PLC的应答字符ACK后,就可以进入数据通信了。

当计算机发送数据时,其RS-232接口上的ER端(即20脚)为高电平(逻辑“1”),这样,与其相连接的FX-232AW接口模块上的DR端(即6脚)也为高电平,它表示计算机的数据就绪,PLC可以接受数据了。

此时,PLC强制处于接受状态,即使它做出应答,也不会被计算机接收,因此,当计算机发送完数据后,必须将ER 端置为低电平。

这点由计算机RS-232接口上的RS端(即4脚)和CS端(即5脚)短接来保证 5计算机发送完数据后。

ER端会自动变为低电平。

此时,任何由PLC做出的应答都可以被计算机接收,即计算机处在接收数据的状态。

当计算机读取PLC对其指令的应答信号后,复位通信线路,表示本次通信完。

四.操作方式:1.计算机对PLC的软设备进行读操作计算机对PLC软设备进行读操作的多字符桢的编制格式如图6(a)所示,前二个字符分别为桢的起始标志和读命令;接着四个字符为计算机要读取的软设备的首地址;再接下去二个字符为要读取的软设备的字节数,该字节数的取值范围为01H-40H(即1-64字节),八个位软设备为一个字节,一个字软设备为二个字节;倒数第三个字节为桢的结束标志;最后二个字节为和校验的值。

图6(b)为计算机读取PLC输出线圈Y20-Y37状态的多字符桢,查FX-232AW的用户手册,输出线圈Y20-Y27的地址为00A2H,而Y20-Y37为三个字节,和检验值SUM将命令码到ETX的各ASCII码相加后,取最低二位数,即:SUM=30H+30H+30H+41H+32H+30H+32H+03H=168H162位上的1舍去图62. 计算PLC进行写操作计算机对PLC软设备进写操作的多字符桢的编制格式如图7(a)所示,前二格外字符桢分别为桢的标志和写命令;接着四个字符计算机要进行写操作的软设备的首地址接下去二个字符为要进行写操作的软设备的字节数,该字节数的取值范围为01H-40H(即64个字节);再接下去是要写到各软设备中去的数据;倒数第三个字节为桢的结束标志;最后二个字节为和校验的值。

图7(b)为计算机对PLC的数据寄存器D0-D1进行写操作的多字符桢,查FX-232AW的用户手册就,数据寄存器D0低八位的地址为1000H,高八位地址为1001H,因此,软设备的首地址为1000H;D0和D1共占四个字节;将K1234写入D0中,将K5678写入D1内;和校验值SUM将命令码到ETX的各ASCII码相加后,取最低二位数,即:SUM=31H+31H+30H+30H+30H+30H+34H+33H+34H+31H+32H+37H+38H+35H+36H+03H=2FDH 162位上的2舍去图7图83. 计算机对PLC的位软设备执行强制ON的操作计算机只能对PLC的位软设备X,Y,M,S以及计时器T和计数器C的逻辑线圈执行强制ON操作,该操作的多字符桢的格式如图2-11(a)所示。

在图9(a)中,前二个字符分别为桢的起始标志和写命令;接着四个字符为计算机要执行强制ON操作的位软设备的地址;倒数第三个字节为桢的结束标志;最后二个字节为和校验的值。

图9(b)为计算机对PLC的计时器T80的逻辑线圈执行强制ON的多字符桢,查FX-232AW的用户手册,计时器T80的地址伪650H,和校验值SUM将命令码到EXT的各ASCII码相加后,取最低二位数,即:SUM=37H+35H+30H+30H+36H+03H=105H (162位上的1舍去)图94.计算机对PLC的位软设备执行强制OFF的操作。

计算机对PLC的位软设备执行强制OFF的操作的情况与执行强制ON的相似,只要将命令码7改为8即可,这里不再详细介绍。

四、PC 通信程序的编写1 .通信口初始化MSComm 控件简介: VB 带有专门管理串行通讯的 MSComm 控件。

只需设置几个主要参数就可以实现 PLC 与 PC 间的串行通讯。

要完成通信必须设置 MSComm 的相关属性值,即通信口初始化,其步骤如下:(1)CommPort :设置或传回通信连接端口代号。

(2)Settings :设置初始化参数。

以字 - 符串的形式设置或传回连接速度、奇偶校验、数据位、停止位等 4 个参数。

(3)PortOpen :设置或传回通信连接端口的状态。

(4)Input :从输入寄存器传回并移除字符。

(5)Output :将一个字符串写入输出寄存器。

(6)InputLen :指定由串行端口读入的字符串长度。

(7)InBufferCount :传回在接收寄存器中的字符数。

用VB6.0编写程序如下:Private Sub Form_Load()With MSComm1.CommPort = 2.Settings = "9600,e,7,1".InputLen = 0.InputMode = comInputModeText.InBufferSize = 1024.OutBufferSize = 1024.Handshaking = comNoneIf .PortOpen = False Then '判断通信口是否打开.PortOpen = True '打开通信If Err Then '错误处理MsgBox "串口被占用"Command1.Enabled = FalseExit SubEnd IfCommand1.Enabled = TrueEnd IfEnd WithIf MSComm1.PortOpen = True ThenLabel1.Caption = "串口打开"End IfEnd Sub2 .通讯程序举例首先,在窗体开始设计之前,添加MSComm 控件和按钮、文本框、标签等。

相关文档
最新文档