利用VB实现PLC与PC机的通讯
利用VB实现PC与PLC的联机控制
利用VB实现PC与PLC的联机控制近年来,随着可编程掌握器(以下简称plc)技术的不断进展,速度、功能、牢靠性和稳定性的不断提升,其在工业掌握中的运用越来越广泛。
个人计算机(以下简称PC)具有人机界面好,编程软件丰富,数据处理快,信息存储便利,图像功能完善等优点。
以PLC为下位机,以PC机为上位机的联机掌握模式,结合了PLC与PC各自的优点,提高了掌握力量和牢靠性,不仅操作使用便利,产品造价也较低,因而成为工业掌握中应用较多的模式。
本文以电动机正反转掌握为实例,说明松下FP1系列PLC与PC实现联机掌握的方法。
1. 松下FP1系列PLC与PC机的通信连接松下FP1系列PLC均设有一个RS422串行通信接口。
该接口既可用于PLC与PC机联机进行梯形图程序编程与调试,也可用于正常工作时的数据通信。
PC机一般均设有一个以上的RS232C串行通信接口。
由于RS232C和RS422属于不同的串行通信接口,通信信号的类型和工作方式不一样,因此,PLC与PC进行串行通信连接时,必需在中间安装一个RS422/RS232C适配器来完成信号的转换(部分PLC也具有RS232C口,此时可直接连接)。
FP1系列PLC与PC机的通信连接如图1所示。
2. PLC掌握电机正反转电路设计PLC掌握电机正反转的接线如图2所示,其中SB0、SB1、SB2开关按钮分别用于掌握电机的正转、反转和停止;KM1、KM2分别为电机正反转掌握的接触器。
由于PLC直接掌握沟通接触器,所以PLC应选择继电器输出型,并在接触器回路采纳互锁来保证电路的平安。
3. PC与PLC的联机掌握程序按上述图1完成PLC与PC机的通信连接后,还需采纳PLC联机编程软件或手持编程器对PLC内部通信参数专用的系统寄存器No.410~No.418进行设定,详细为:串口选择为COM1,波特率为9600bps,数据位长度为8位,停止位为1位,奇校验,单元号为1。
4.PLC掌握程序PLC的掌握程序要既能现地掌握,又能使PC机通过串口通信实现上位机对电动机的正反转掌握和电机状态信息反馈。
利用VB6.0实现PC与三菱 PLC 的通信
利用VB6.0实现PC与三菱 PLC 的通信哈尔滨李松颖本文介绍的 PC 与三菱 FX 系列 PLC 通信,是通过 PLC 的编程口与 PC 机的串口进行的,采用 SC-09 编程电缆作为计算机与 PLC 通信的连线。
电缆的 9 芯 D 形插头连接在计算机串口上,另一端连接PLC 的 RS-422 编程口。
编写 PC 的通信程序可采用汇编语言、各种高级语言,也可以采用工控组态软件或直接采用 PLC 厂家的通信软件。
本文采用 VB6 . 0 软件,它必须依据所连接 PLC 的通信规程来编写通信协议,所以先简单介绍 FX 系列 PLC 的通信协议。
一、 FX 系列 PLC 的通讯协议1 .数据传输格式FX 系列 PLC 采用异步格式,由 1 位起始位、 7 位数据位、 l 位偶校验位及 l 位停止位组成,波特率为 9600bps ,字符为ASCi Ⅱ码。
2 .通信命令FX 系列 PLC 有 4 条通信命令,即读命令、写命令、强制通命令、强制断命令。
表 1 中, X 为输入继电器; Y 为输出继电器; M 为辅助继电器; S 为状态元件; T 为定时器; C 为计数器; D 为数据寄存器。
3 .通信控制字符FZ 系列 PLC 采用面向字符的传输规程,用到 5 个通信控制字符,如表 2 所示。
4 .报文格式PC 机向 PLC 发送的报文格式如表 3 所示。
其中, STX 为开始标志; ETS 为结束标志; CMD 为命令的ASC Ⅱ码: SUMH 、 SUML 为从 CMD 到 ETX 按字节求累加和,溢出不计。
由于每字节十六进制数变为两字节ASC Ⅱ代码,故校验和为 SUMH 与 SUMI 。
PLC 向 PC 机发送的应答报文格式如表 4 所示。
二、 PC 通信程序的编写1 .通信口初始化, MSComm 控件简介: VB 带有专门管理串行通讯的 MSComm 控件。
只需设置几个主要参数就可以实现 PLC 与 PC 间的串行通讯。
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实现PC机与PLC的以太网通信plc
如何通过VB实现PC机与PLC的以太网通信- plc此控件对于用户在运行时不行见,供应了一个简洁的途径访问TCP 及UDP网络服务而无需了解底层细节,使用时你只需设置属性、在恰当的时候调用它供应的方法即可。
主要属性有:BytesReceived:返回当前缓冲区中的字节数量,我们可以使用GetData 方法以接收数据。
只读且设计时不行用。
LocalHostName:返回本机名字符串,设计时不行用。
LocalIP:返回以(xxx.xxx.xxx.xxx)格式表达的IP地址串。
设计时不行用,运行时只读。
LocalPort :本机使用接收端口可读写,设计时可用,Long型。
对于客户,假如无需指定端口,则用端口0发送数据。
在此状况下,控件将随机选择一个端口。
在一个连接确定后,为TCP的端口。
对于服务器,指用于监听的端口。
如设置为0,则用随机数。
在调用Listen 方法后,该属性自动包含用到的端口。
端口0总是用于在两计算机间建立动态连接。
客户期望通过端口0获得一个随机端口以”回调”连接服务器。
Protocol :套接字类型,为TCP或UDP二者之一,缺省为TCP类型。
设置为sckTCPProtocol表示TCP协议sckUDPProtocol表示UDP协议。
在此属性被重置之前需用Close方法关闭之。
RemoteHost:发送或接收数据的主机,你可供应主机名如:FTP://,或一IP地址串,例如“100.0.1.1”。
RemoteHostIP:远程主机的IP地址。
对于客户程序,在连接确定后使用Connect方法,此属性包含远程主机的IP名串。
对于服务器程序,在引入连接需求后(Connection Request 大事),此属性包含IP串。
当使用UDP套接字,在Data Arrival大事发生后,此属性为发送UDP数据的机器IP地址串。
RemotePort:连接套接字端口值。
例如通常HTTP应用使用80端口,FTP则使用21。
VB实现电脑与三菱Q00PLC的串行通信
在Windows平台下利用VB实现电脑与三菱Q00PLC的串行通信发布: 2011-9-8 | 作者: —— | 来源:liujiada| 查看: 445次| 用户关注:摘要:本文分析了Windows环境下串行通信的编程技术,介绍了在Windows环境下用VB6.0语言编写串行通信程序,实现了PC机与三菱Q00PLC之间的串行通信,并提出了在实际应用中提高串行通信性能的方法。
关键词:VB;Win32API函数;串行通信;Q00PLC一概述在工业控制中,串口是常用的计算机与外部串行设备之间的数据传输通道。
由于串行通信结构简单、可靠性强、实现及使用成本低、通讯标准统一,因此在测控系统和工程中应用十分广泛。
目前Wi摘要:本文分析了Windows环境下串行通信的编程技术,介绍了在Windows环境下用VB6.0语言编写串行通信程序,实现了PC机与三菱 Q00PLC之间的串行通信,并提出了在实际应用中提高串行通信性能的方法。
关键词:VB;Win32API函数;串行通信;Q00PLC一概述在工业控制中,串口是常用的计算机与外部串行设备之间的数据传输通道。
由于串行通信结构简单、可靠性强、实现及使用成本低、通讯标准统一,因此在测控系统和工程中应用十分广泛。
目前Windows在工业生产监控管理系统中已成为主流平台,Windows环境下的上、下位机之间的串行通信是设计与开发监控管理系统和集散控制系统的重要组成部分。
Microsoft公司的VB++6.0是一种高级编程语言,它提供的串列通信控件封装了封装了Win32API中的标准通信函数,可以让开发者方便开发串列通信上位机程序。
PLC是现在控制领域不可缺少的部分,已经非常普及,如何简便的与PLC交互已经成为众多厂商新的竞争战场。
由此产生了人机界面、组态软件等产品。
这些产品的产生大大简化了对PLC的控制,操作,使用更方便。
但也有共同的缺点:价格过高和开放性较差。
VB作为“原始"的编程语言在这两方面无疑有着明显的优势。
VB实现PC与欧姆龙PLC通讯的串口编程
VB实现PC与欧姆龙PLC通讯的串口编程第一篇:VB实现PC与欧姆龙PLC通讯的串口编程Private Sub Form_Load()Dim i As Integer'OPEN COM1If ComTrue(1)= 0 ThenIf ComOpen(1, 38400, 7, 1, 1, “sjh”)= 1 Then 'MsgBox(“已注册”)'sjh为你的注册账号Call SetDelayNum(64)End IfEnd Ifjisujisu1jisu2End Sub第二篇:VB中串口通讯的实现VB中串口通讯的实现.txt VB中串口通讯的实现------------------一、概述串口通讯作为一种古老而又灵活的通讯方式,被广泛地应用于PC 间的通讯以及PC和单片机之间的通讯之中。
提到串口通讯的编程,人们往往立刻想到C、汇编等对系统底层操作支持较好的编程语言以及大串繁琐的代码。
实际上,只要我们借助相关ActiveX控件的帮助,即使是在底层操作一向不被人看好的VB中,一样能够实现串口通讯,甚至其实现方法和C、汇编相比,要更加快捷方便。
下面,笔者就介绍一下在VB 中实现串口通讯的方法。
在Visual Basic中有一个名为Microsoft Communication Control(简称MSComm)的通讯控件。
我们只要通过对此控件的属性和事件进行相应编程操作,就可以轻松地实现串口通讯。
下面,笔者就简要地介绍一下MSComm控件的使用方法。
二、MSComm控件的主要属性、事件1、MSComm的属性由于MSComm控件属性很多,在此笔者仅介绍与实现串口通讯密切相关的核心属性。
Commport:设置通讯所占用的串口号。
如设成1(默认值),表示对Com1进行操作。
Setting:对串口通讯的相关参数。
包括串口通讯的比特率,奇偶校验,数据位长度、停止位等。
其默认值是“9600,N,8,1”,表示串口比特率是9600bit/s,不作奇偶校验,8位数据位,1个停止位。
用VB6_0实现西门子PLC与PC机的串行通讯
收稿日期:2003-01-15作者简介:敬 伟(1977—),女,重庆人,西安工业学院硕士研究生,研究方向为自动化控制、智能仪表。
用VB6.0实现西门子PLC 与PC 机的串行通讯敬 伟1,樊文侠1,涂 劲2(1.西安工业学院电子信息科学与工程系,陕西西安710032;2.重庆大学,重庆400044)摘 要:对西门子系列PLC 的通讯协议进行了详细的介绍,并以VB6.0开发系统在WINDOWS 环境下实现了PC 机与西门子系列PLC 之间的串行通讯。
文章给出了PLC 和VB6.0相关的主要程序,通过该通讯程序实现了PC 机对西门子系列PLC 的监控和控制。
同时本程序对PC 机与其他型号PLC 之间的通讯也有一定的借鉴意义。
关键词:可编程控制器;串行通讯;协议中图分类号:TP393104 文献标识码:A 文章编号:1005-3751(2003)0025-02Achieve Serial Communication betw een PC and SIEMENS Series PLC by VB6.0J IN G Wei 1,FAN Wen 2xia 1,TU Jin 2(1.Xi ’an Inst.of Tech.,Xi ’an 710032,China ;2.Chongqing University ,Chongqing 400044,China )Abstract :The communication protocol of SIEMENS series PLC is introduced and serial communication between PC and SIEMENS series PLC is achieved by VB6.0development system in windows environment.The mostly program about PLC and VB6.0is introduced and can monitor SIEMENS series PLC through PC.What ’s more ,the method of disposal can be applied with other type of PLC or sin 2glechip.K ey w ords :programmable controller (PLC );serial communication ;protocol 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的界面上。
PLC与PC机通讯的VB源程序
PLC与PC机通讯的VB源程序PLC与PC机通讯的VB源程序PLC与PC机通讯的VB源程序PLC与PC机通讯的VB源程序大体如下:我采用的是FX232BD通讯模块,协议就是FX通讯协议。
强制PLC为RUNPrivate Sub command1_Click() Dim dat As String commli.OutBufferCount = 0 commli.InBufferCount = 0 dat = "01FFRR0" commli.Output = Chr$(5) + dat + SumChk(dat) End Sub强制PLC为STOPPrivate Sub command2_Click() Dim dat As String commli.OutBufferCount = 0 commli.InBufferCount = 0 dat = "01FFRS0" commli.Output = Chr$(5) + dat + SumChk(dat) End Sub强制Y0为1Private Sub command3_Click() Dim dat As String commli.OutBufferCount = 0 commli.InBufferCount = 0 commli.Output = “01FFBW0Y001011” End Sub强制Y0为0Private Sub command3_Click() Dim dat As String commli.OutBufferCount = 0 commli.InBufferCount = 0 commli.Output = “01FFBW0Y001010” End Sub设置电脑通信参数Private Sub Commlis() If commli.PortOpen = True Then commli.PortOpen = False End If If Not commli.PortOpen Then mPort = 1 ''通信口commli.Settings = "9600,N,8,1" commli.Handshaking = 0 commli.InputLen = 0 commli.OutBufferCount = 0 commli.InBufferCount = 0 commli.PortOpen = True End If Exit SubEnd SubPrivate Function SumChk(Dats$) As String Dim i& Dim CHK& For i = 1 To Len(Dats) CHK = CHK + Asc(Mid(Dats, i, 1)) Next i SumChk = Right(Hex$(CHK), 2)End Function。
基于VB6.0的西门子PLC与PC的通信实现微机监控功能
基于VB6.0的西门子PLC与PC的通信实现微机监控功能1 引言可编程序控制器(programmable controller)简称plc是以微处理器为基础的新型控制装置,是将计算机技术应于工业控制领域的崭新产品。
它集逻辑运算、顺序控制、定时、计数、算术运算功能为一体。
另外还可以与其他计算机进行通信联网,这种通信不但包括不同的plc之间的数据交换,而且还包括plc与计算机之间的通信。
本文介绍笔者使用vb6.0实现plc与上位机之间的通信,使运行人员通过油机配电屏的显示可以监测并控制远端设备的工作。
2 系统构成本系统采用plc采集模拟信号、数据处理,通过串行通信口上传到计算机,计算机对传上来的数据进行分析、分类记入数据库,实时显示在配电屏上并提供数据查询。
plc为s7-224,串行通信接口的信号线采用rs-485,此信号线为半双工,即不能同时接收和发送。
将plc 置于run状态,就可以将plc中存于发送缓冲区中的数据及信号送入上位机的串口,上位机通过串口通信程序接收这些数据后显示并通过数据库控件adodc的绑定,把数据记录到数据库,从而完成数据的采样。
本工程所需采集的数据包括日常量、故障量和设备动作量。
对于日常量需每时每刻的数据显示在配电屏的主控制平面上,以便工作人员观察实时数据,但是不需要把日常量都记入数据库,只需隔一段时间记录一次(在这里每隔半小时记录一次),对于故障量和设备动作量要求只要设备发生故障或动作就要记录到数据库,以便工作人员查询。
3 s7-200的通信方式与通信参数的设置s7-200的通信功能很强大,有多种通信方式可供用户选择,包括单主站方式、多主站方式、使用调制解调器的远程通信方式等。
本工程选择step7-micro/win32支持的通信硬件pc/ppi电缆,它所支持的波特率有9.6kbps和19.2kbps,支持的协议为ppi协议,即点对点接口协议,基于开放系统互联模型osi。
Vb6.0实现PC机与PLC通信欧姆龙CPM2
摘 要: 本文对 CPM2 系列欧姆龙 PLC的通 信协议进行了 详细的介绍, 并以 VB 为开发工具实 现了PC机与 欧姆龙 CP 系 列PLC的串 行通
信。
关键词: PLC 串行通 信 VB6. 0
中图 分类号: TN91
文 献标识 码: A
文章编号: 1 67 2- 37 91( 20 08 ) 0 8( b) - 00 11 - 0 2
PLC以 卓 越的 可靠 性 和方 便 的可 编 程性 广泛 应用于 工业 控制领 域。 实现 PC机 与 PLC 通信 的目 的是为 了向 用户 提供 诸如 工艺 流程 图显示、动 态数据画面 显示、报表显 示、窗口 技术 等 多 种功 能 , 为 PLC提 供良 好 的 人机 界 面。 本 文 详 细介 绍 了 CP 系 列 PLC的 通信 协 议, 并 在 Wi ndo ws 环 境下 , 使用 VB6 . 0 开发 通 信程 序 , 实现 了 PC 机与 CPM2 系列 PLC之 间 的串行 通信。
FCS 把 从一 帧 的开 始 到 FCS 前 面的 数 据 进行 逻辑异或 得到的 8 位数据换成 2 个字符的 ASCI I 码。对 接收 信息 的各 帧计 算 FCS, 并 同 附 加在帧后 的 FCS 进行对照 校核, 就能检查 数 据 错误 。 2 . 4 硬件连接
PC 机 与 CP 系 列 PLC, 要 经 过 RS- 2 3 2 C
② 双方 的初 始化, 使波 特率 、数 据位 数、 停止位数、奇偶校验都相同。
③ 要 对 PLC 的 通信 协 议 分 析清 楚 , 严 格 地按照 协议的规 定及帧格 式编写 PC机 的通信 程序。 PLC中配 有通 信机制 , 一般 不需用户 编 程。
2 OMRON PLC的通信协议 目 前, 随着 PLC的 快速 发展 , 越 来越 多的
怎样才能让VB和PLC相互通讯传输数据
性)按钮,打开属性对话框。将“MPI”栏中的“TransmissionRate”(波特率)设置为187.5 kbit/s,其他参数可以采用默认设置。在“Local Connection”选项卡“COM Port”选择框中设置实际使用的Pc串口的编号,波特率可以设置为19.2 kbit/s
2.用OPC Server软件实现通信连接
西门子的PLC,除了用组态软件可以和PLC通讯外,也可以用VB和它通讯,但是必须利用西门子公司发布的PRODAVE软件包(其实就是一个库函数包).PRODAVE提供了大量函数,我门可以利用这些函数解决PLC与PC的数据交换和处理.当然这些函数是可以在VB中调用的,只要在模块里声明一下就可以了. 给你举两个简单例子: load tool.这个用来将计算机与PLC连接起来, unload tool.是用来断开连接的. a_field_read(a,b,c).这个可以从PLC读取数据到计算机 a_field_write(a,b,c).用来写数据到PLC. 就举这么四个典型例子,看起来似乎挺简单,其实还有好多好多问题需要解决,比如从PLC不同的数据存储区读取数据所用的函数不同.还有初始的参数设置,地址设置,读写函数的参数设置,即使参数都设置对了,如何判断连接上否,即使连上了如何判断,数据读写有没有错误,有了错误如何判断是哪种错误.所以,也许你能看出,PLC和PRODAVE的知识在编写中的关键性并不低于VB. 一般都是用PLC的串口编一个协议,然后利用VB里面的通讯控件进行通讯的。例如omron是用hostlink来做的。三菱一般是用RS指令,松下是用trns来做的。
利用VB进行PC与PCL通信代码
利用VB进行PC与PLC通信程序代码与程序运行结果1 计算机与可编程控制器通信程序说明1.1 计算机与可编程控制器通信运行界面在编写程序代码之前应先应用VB6.0建立一个运行界面,如图5.1。
图5.1 PC与可编程控制器状态通信界面1.2 计算机与可编程控制器通信程序说明整个PC与可编程控制器通信的程序段中,结合所做界面与构想,分为初始运行、回路测试、置位、复位、返回和周期输入端口状态检测几大部分。
●初始运行在初始运行程序段中,包括了对地址栏中地址、图形控件的初始设置,以及Mscomm 控件通信参数的赋值。
●回路测试回路测试的存在主要是,在状态通信前,能较为明显的显示计算机与可编程序逻辑控制器是否连接通畅。
其中利用到时钟控件,来进行周期性地通信监测,在置位、复位及时间定期校核中此控件都被将使用到。
●置位置位程序是用于在回路测试成功后,将计算机的设置值输出给可编程控制器的驱动程其中STX为开始标志,ASCII码:02H;ETX为结束标志,ASCII码:03H;CMD为命令的ASCII码;SUMH,SUML为从CMD到ETX求累加和,溢出不计。
由于每字节十六进制数变为两字节ASCII代码,故校验和为SUMH与SUML。
因为报文的每一段节较为复杂冗长,所以需要调用子函数,来提高程序运行的速度。
●复位复位程序是在一次输出后,将通信设置清零的过程,需要通过点击“置位”按钮来使程序响应。
和置位程序一样,复位也同样调用子函数,来进行报文的构建。
●返回返回程序是通过点击“退出”按钮来进行响应,使得其他所有程序段运行结束,退出主程序。
●周期输入端口状态检测如之前所述的,为了保证通信端口时时畅通,必须定期自动地让程序进行同行状态检测,而周期输出端口状态检测程序段则可以保证,在其他程序段没有进行检测时仍能对通信状态进行自动检测,提高了可靠度。
其中在进行通信端口数校对时,由于计算机只可识别二进制码,所以还调用了一个将地址转为二进制的子函数。
基于VB的PLC如何实现与计算机间的串行通信?
一、通行原理与方法上位机要能够通过PLC监控下层设备的状态,就要实现上位机与PLC间的通信,一般工业控制中都是采用RS232C实现。
上位机首先向PLC 发送查询数据的指令(实际上是查询PLC中端子的状态和dm区的值等),PLC接收了上位的指令后,进行校验(fcs校验码),看其是否正确,如果正确,则向上位机传送数据(包含首尾校验字节)。
否则,PLC拒绝向上位机传送数据。
上位接收到PLC传送的数据,也要判断正确与否,如果正确,则接收,否则,拒绝接收。
由于cpm1a没有提供串行通信口,我们利用其提供的外设端口实现通信。
PLC与计算机之间的连接是通过omron提供的专用电缆cqm1-cif01来实现的,二、PLC与计算机间的通信规约计算机与PLC间的通信是以“帧”为单位进行的,并且在通信的过程中,计算机具有更高的优先级。
首先,计算机向PLC发出命令帧,然后,PLC作出响应,向计算机发送回响应帧。
其中命令帧和响应帧的格式如下:(1)命令帧格式。
为了方便计算机和PLC的通讯,cpm1a对在计算机连接通信中交换的命令和响应规定了相应的格式。
当计算机发送一个命令时,其中@放在首位,表示以@开始,设备号为上位机识别所连接的PLC的设备号。
识别码为命令代码,用来设置用户希望上位机完成的操作,fcs为帧检验代码,一旦通信出错,通过计算fcs可以及时发现。
结束符为“*”和cr回车符,表示命令结束。
其中,异常码可以确定计算机发送的命令是否正确执行。
其它的与正文中的含义相同。
正文仅在有读出数据时有返回。
三、通信程序的设计为了充分利用计算机数据处理的强大功能,我们可以采用计算机有优先权的方式,在计算机上编写程序来实现计算机与PLC的通信,计算机向PLC发出命令发起通信,PLC自动返回响应。
本文中采用vb来编写计算机与PLC间的通讯程序。
在vb中提供了通信控件—应用通信控件(mscomm),实现通过串行端口传送和接受的功能。
艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。
基于VB实现台达PLC与PC_机串行通讯
基于VB实现台达PLC与PC串行通讯随着工业自动化控制技术的不断发展,可编程逻辑控制器(PLC)与上位机之间通讯的应用越来越广泛。
在PLC与上位机组成的集散控制系统中,PLC作为下位机完成现场各种信号和数据的采集、运算和完成对系统的底层控制,上位机则可提供人机交互界面,实现数据的处理以及现场数据的实时显示等监视和远程控制等功能。
为实现面向产品全生命周期的数字化远程服务经营理念的制造装备的远程监测、诊断与维护技术,随着移动通讯市场的迅速扩大,GSM 无线数字蜂窝通讯网络在我国得到了高速的发展,不但拥有较高的覆盖率,而且相继开放了SMS(短消息)、FAX(传真)、DATA(数据)等业务,为选择高效、廉价的数据传输提供了新的思路。
各种组态软件,如:iFix、MCGS、组态王等虽然可以实现PLC的远程监控,但不能实现PLC Modbus通讯协议与GSM模块的通讯协议的转换。
本文就是基于这点考虑,运用VB编制操作界面和通信功能,完成台达PLC与PC机串行通讯,这是实现GSM模块与PLC通讯的关键技术所在。
1通讯硬件及协议简介1.1通讯硬件组成台达PLC自带有两个通讯串口(EH系列可扩展第三个通讯口RS-485或RS-422)COM1和COM2。
COM1采用标准RS-232接口,它是一种近距离、低干扰、点对点的通讯协议。
该接口在下载完PLC程序后一般都处于闲置状态。
COM2是标准RS-485接口,可用于用抗干扰能力强、可多台串接组网的通讯方式。
在该生产线的控制系统中,COM2已用于PLC与变频器之间的通讯,而一般PC机都自带标准RS-232接口。
因此PC机与PLC之间通讯采用COM1(RS-232)接口,连接线采用台达PLC的编程电缆DVPACAB230。
1.2通讯协议介绍Modbus 协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
利用VB实现PLC与PC机的通讯
利用VB实现PLC与PC机的通讯【摘要】本文详细介绍了FX-2N系列PLC的通信协议,并以VB为开发工具设计界面以及接收数据从而实现了PC机与FX-2N系列的PLC的串行通讯。
在生产中可利用VB的可视化特性,采用串行通讯的方式,对整个装置的运行情况进行实时监控,达到随时掌握现场情况的目的。
【关键词】PLC;自动控制;串行通讯;VB0 引言目前,PLC在国内外已广泛应用于钢铁、石油、华工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐各个行业。
在工业用途中,液体混和装置常常会用于会用于各种场合。
PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。
实现PC机与PLC通信的目的是为了向用户提供诸如工艺流程图显示、动态数据画面显示、报表显示、窗口技术等多种功能,为PLC提供良好的人机界面。
PLC与计算机通信是PLC通信中最简单、最直接的一种通信方式。
与PLC通信的计算机称之为上位计算机,PLC与计算机之间的通信又叫上位通信。
PLC与计算机通信主要是通过RS-232C或RS-422接口进行的。
计算机上的通信接口是标准的RS-232接口;若PLC上的通信接口也是RS-232C 接口时,PLC与计算机连接是可以直接使用适配电缆进行连接,实现通信。
本课题便也是采用这种方法进行连接的。
1 硬件连接PC机与FX系列的PLC可经过FX2N-232-BD 通讯模块连接,下图表示它们之间的连接关系:图1 硬件连接2 FX系列PLC的通讯协议(1)数据格式FX系列的PLC采用异步格式,由1位起始位、7位数据位、1位偶检验位及1位停止位组成,波特率为9600bps,字符为ASCII码。
格式如下:(2)通讯命令FX 系列PLC有4个通讯命令,它们是读命令、写命令、强制通命令、强制断命令,如表所示。
表中X-输入继电器;Y-输入继电器;M-辅助继电器;S-状态元件;T-定时器;C-计数器;D-数据寄存器。
(3)通讯控制字符FX 系列PLC采用面向字符的传输规程,用到5个通讯控制字符,如表所示:(4)报文格式PC机向PLC发送的报文格式如下:报文格式其中STX为开始标志:02H;ETX为结束标志:03H;CMD为命令的ASCII 码:SUMH,SUML为从CMD到ETX按字节求累加和,溢出不计。
vb 网口与plc 通讯
vb 网口与plc 通讯在现代工业领域中,VB(Visual Basic)和PLC (Programmable Logic Controller)在实现设备之间的通讯中起到了重要的作用。
而VB与PLC间的网口通讯更是实现了数据传输的便捷与高效。
本文将探讨VB网口与PLC通讯的相关知识,介绍其基本原理、通讯方式以及应用案例等。
一、VB网口与PLC通讯的基本原理VB网口与PLC通讯的基本原理是通过网线将VB程序与PLC 设备连接起来,实现数据的传输与交互。
在这个过程中,VB程序可以向PLC发送命令,读取或写入PLC内部的数据,同时也可以获取PLC发送的状态或数据。
这种通讯方式具有高速、稳定的特点,为工业自动化控制提供了一种可靠的手段。
二、VB网口与PLC通讯的方式1. Modbus通讯方式Modbus通讯是一种广泛使用的通讯协议,被众多PLC设备所支持。
在VB与PLC通讯中,可以通过Modbus协议实现数据的读写。
通过这种方式,VB程序可以向PLC发送Modbus命令,读取PLC中的参数或状态,并将结果反馈给用户。
2. 自定义通讯协议除了Modbus通讯方式外,还可以根据实际需求自定义通讯协议。
采用自定义通讯协议的方式可以更加灵活地进行数据的传输与处理。
VB程序与PLC通过网口连接后,通过自定义的通讯协议进行数据的读写操作,实现设备间的通讯与控制。
三、VB网口与PLC通讯的应用案例VB网口与PLC通讯的应用案例非常丰富,下面以自动化生产线为例进行说明。
假设在一条自动化生产线上,需要对不同工位的设备进行监控和控制。
通过VB网口与PLC通讯,可以实现以下功能:1. 监测设备状态:通过读取PLC中的状态位,可以实时监测设备的运行情况,如设备是否正常工作、是否存在故障等。
当设备出现异常时,VB程序可以及时发出警报并采取相应的措施。
2. 设备控制:通过向PLC发送控制命令,可以实现对设备的远程控制。
例如,当需要停止某个工位的设备时,VB程序可以向PLC发送关闭信号,PLC接收到信号后即可停止对应设备的运行。
欧姆龙plc用vb实现通讯
基于VB的上位机与PLC的串行通信收藏此信息打印该信息添加:佚名来源:未知1 引言在现代控制系统中,pc机作为上位机负责系统管理、状态监控、信息处理和打印报表等工作,plc作为下位机进行面向现场的实时控制已成为一种典型的系统结构。
因此,pc机与plc之间的通信问题便成了系统能否实现的关键。
串行通信以其接线简单、容易实现的特点得到了广泛的应用。
visual basic编程软件简单易学、功能强大,利用它可以很方便的实现pc机与plc间的串行通讯。
本文以omron公司的cpm2a plc为例,介绍了利用vb6.0实现pc机与plc串行通讯的具体方法。
omron公司的cpm2a plc支持host-link通信协议,可以与上位计算机进行通信。
使用host-link通信协议构成的通信网络,可以很方便的实现上位pc对下位plc的实时监控。
2 原理设计2.1 系统结构系统结构如图1所示,计算机作为上位机,plc作为下位机,因omron cpm2a本身带有rs-232串口,因此,利用rs-232电缆将其与pc机的串口(com1或com2)相连,便构成了一个1:1的简单的通讯系统[1]。
图1 系统结构2.2 host-link通信协议[2]omron公司的host-link通信系统是由上位计算机(ibm pc或兼容机)通过安装在各台p lc上的host-link单元连接多台plc构成的网络。
上位机对系统中的plc进行集中管理与监控,通过与host link单元的通信,可以编辑或修改各台plc的程序,实时监控其运行过程,实现自动化系统的集散控制。
对于小型plc,也可以通过其rs 232c通信端口进行链接。
系统使用host-link通信协议进行通信,上位机具有传送优先权,总是首先发出命令并启动通信,host link单元收到命令交由plc执行,然后将执行结果返回上位机,二者以通信帧为单位,轮流交换数据。
通信时一组传送的数据称为“块”,它是命令或响应的单位,从上位机发送到host -link单元的数据块称为命令块,反过来,从host- link单元发送到上位机的数据块称为响应块。
基于VB6.0实现西门子PLC与PC间的TCP通讯
基于 VB6.0实现西门子 PLC与 PC间的TCP通讯摘要摘要:主要介绍在Microsoft Visual Basic 6.0开发环境下,通过Winsock1控件,用以太网的方式实现PC机与西门子1200/1500PLC系统之间数据通信的方法,并把该通信方法用在环卫压缩设备控制系统中。
关键词:PLC,VB,通信Realization of TCP Communication between Siemens PLC and PC Basedon VB6.0Abstact:This paper introduces data communication method between PC applications,which take Visual Basic 6.0 as their programming language and SIMATIC S7-1200 or S7-1500 PLC.Keywords:PLC,VB,communication.众所周知,工业自动化监控系统一般是采用组态软件或高级语言开发,而采用组态软件开发是需要买软件授权才能交付,虽然开发速度快,但成本较高而且后期功能扩展不够灵活,也无法开发更加复杂的业务,如实现信息化和工业化的有机融合,因此如何帮助开发者降低开发成本、提高工作效率,快速开发出对行业有显著帮助和价值的自动化监控系统是本文所涉及的话题。
该控制系统由西门子S7-1200 PLC、PC机等构成,其中PLC由以下组成:1214CPU模块(带以太网口),数字量输入/输出模块,模拟量输入模块。
1监控系统的通信参数系统运行时需要在PC与PLC之间通信的参数主要有如下:PC→PLC:压缩设备电机启动和停止指令、压缩指令;PLC→PC:压缩设备液压系统压力、温度和液位值,接近开关信号以及拉线位移传感器值。
2监控系统软件程序设计VB通信程序Dim Start,Stop, Compress As ByteDim Palue, Temperature,Level,Displacement As SingleDim Limit(5) As Byte_______________________________Private Sub connect_Click()Winsock1.Close ‘关闭连接Winsock1.Rem oteHost = "192.168.2.5" ‘与PLC的IP地址Winsock1.RemotePort = "2000" ‘与PLC端口号Winsock1.connect ‘关建立连接End Sub_______________________________Private Sub Form_Load()Winsock1.Close ‘关闭连接End SubPrivate Sub Close_Click()Winsock1.Close ‘关闭连接End Sub_______________________________Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)If Winsock1.state <> sckClosed ThenWinsock1.CloseWinsock1.Accept requestID '接受具有 requestID 参数的'连接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
字节 1-字 字节 1-字
第 1 数据 第 2 数据 第 3 数据 ……… 第 N 数据
节4
节4
软 继 电 器 读/写 字 节 上 下 上 下 上 下
上下
………
首地址 数
位 位位位 位位
位位
写命令的数据段有数据,读命令的数据段则无数据。 读/写字节数为 01H-04H(1-64)个。 PLC 向 PC 几发送的应答报文格式如下:
作 者 简 介 : 黄 伟 (1986— ), 男 , 教 师 , 从 事 电 气 专 业 研 究 。
86 科技视界 SCIENCE & TECHNOLOGY VISION
职校科技
Science & Technology Vision
科技视界
2012 年第 32 期(总第 47 期)
PLC 根据 PC 机命令,在每个循环扫描结束处的 END 语句后组织 自动应答,无需用户在 PLC 一方编写。
信息帧开始标记
ETX
03H
信息帧结束标记
(4 ) 报 文 格 式 PC 机向 PLC 发送的报文格式如下:
报文格式
STX
CMD
数据段
ETX
SUMH
SUML
其 中 STX 为 开 始 标 志 :02H;ETX 为 结 束 标 志 :03H;CMD 为 命 令 的 ASCII 码:SUMH,SUML 为从 CMD 到 ETX 按字节求累加和,溢出不 计。 由于每字节十六进制数变量变为两字节的 ASCII 码,故检验和为 SUMH 与 SUML。
1 硬件连接 PC 机与 FX 系列的 PLC 可经过 FX2N-232-BD 通讯模块连接,下
图表示它们之间的连接关系:
图 1 硬件连接 2 FX 系列 PLC 的通讯协议
(1) 数 据 格 式 FX 系列的 PLC 采用异步格式,由 1 位起始位、7 位数据位、1 位偶 检验位及 1 位停止位组成,波特率为 9600bps,字符为 ASCII 码。 格式 如下:
3 PLC 内部通用寄存器的地址
PLC 中通用数据寄存器共有 200 个,分别是 D0~D200。 因为通讯 程序中需要传送 PLC 中的寄存器数据, 因此需要知道 通 用 寄 存 器 的 物理地址。 PLC 中通用寄存器的物理地址是这样分布的:D0 的物理地 址 为 1000,以 后 每 个 寄 存 器 占 用 2 个 地 址 的 单 元 ,直 至 D200 的 物 理 地址 1190 为止。 本程序中用到的寄存器有两个,分别是 D123(10F6) 和 D200(1190)。
(3 ) 通 讯 控 制 字 符 FX 系 列 PLC 采 用 面 向 字 符 的 传 输 规 程 , 用 到 5 个 通 讯 控 制 字 符,如表所示:
控制字符
ASCII 代码
功能
ENQ
05H
计算机发出请求
ACK
06H
PLC 对 ENQ 的确认回答
NAK
15H
PLC 对 ENQ 的否认回答
STX
02H
对读命令的应答报文数据段为要读取的数据,一个数据占两个字 节,分上下位。
对 写 命 令 的 数 据 报 文 无 数 据 段 , 而 用 ACK 及 NAK 作 为 应 答 内 容。
(5 ) 传 输 过 程 PC 机与 FX 系列 PLC 之间采用应答方式通讯, 传输 出 错 则 组 织 从发。 其传输过程如下:
应答报文
STX
Hale Waihona Puke 数据段ETXSUMH
SUML
(2) 通 讯 命 令 FX 系列 PLC 有 4 个通讯命令,它们是读命令、写 命 令 、强 制 通 命 令、强制断命令,如表所示。 表中 X-输入继电器;Y-输入继电器;M-辅 助 继 电 器 ;S- 状 态 元 件 ;T- 定 时 器 ;C- 计 数 器 ;D- 数 据 寄 存 器 。
4 VB 控件的使用
2012 年第 32 期(总第 47 期)
Science & Technology Vision
科技视界
职校科技
利用 VB 实现 PL C 与 PC 机的通讯
黄伟 (安徽能源技术学校电气教研组 安徽 合肥 230041)
【摘 要】本文详细介绍了 FX-2N 系列 PLC 的通信协议,并以 VB 为开发工具设计界面以及接收数据从而实现了 PC 机与 FX-2N 系 列 的 PLC 的串行通讯。 在生产中可利用 VB 的可视化特性,采用串行通讯的方式,对整个装置的运行情况进行实时监控,达到随时掌握现场情况的 目的。
【 关 键 词 】PLC ; 自 动 控 制 ; 串 行 通 讯 ;VB
0 引言 目 前 ,PLC 在 国 内 外 已 广 泛 应 用 于 钢 铁 、石 油 、华 工 、电 力 、建 材 、
机械制造、汽车、轻纺、交通运输、环保及文化娱乐各个行业。 在工业用 途中,液体混和装置常常会用于会用于各种场合 。 PLC 以卓越的可靠 性和方便的可编程性广泛应用于工业控制领域。 实现 PC 机与 PLC 通 信的目的是为了向用户提供诸如工艺流程图显示、 动态数据画面显 示 、报 表 显 示 、窗 口 技 术 等 多 种 功 能 ,为 PLC 提 供 良 好 的 人 机 界 面 。 PLC 与计算机通信是 PLC 通信中最简单、最直接的一种通信方式。 与 PLC 通信的计算机称之为上位计算机,PLC 与计算机之间的通信又叫 上位通信。 PLC 与计算机通信主要是通过 RS-232C 或 RS-422 接口进 行的。 计算机上的通信接口是标准的 RS-232 接口;若 PLC 上的通信 接 口 也 是 RS-232C 接 口 时 ,PLC 与 计 算 机 连 接 是 可 以 直 接 使 用 适 配 电缆进行连接,实现通信。 本课题便也是采用这种方法进行连接的。
命令
命令代码
目标软继电器
功能
读命令 ‘0’即 ASCII 码‘30H’ X,Y,M,S,T,C,D 读软继电器状态、数据 写命令 ‘1’即 ASCII 码‘31H’ X,Y,M,S,T,C,D 把数据 写入 读软继 电器 强制通 命令 ‘7’即 ASCII 码‘37H’ X,Y,M,S,T,C 强制某位 ON 强制断 命令 ‘8’即 ASCII 码‘38H’ X,Y,M,S,T,C 强制某位 OFF