PLC与PC计算机通信
PLC与上位机的通信实现 最新文档
PLC与上位机的通信实现最新文档plc与上位机的通信实现-最新文档PLC与上位机的通信plc作为一种高性能的控制装置,在分布式系统中得到了越来越广泛的应用。
在这种控制方式中,上位监控机系统是其中重要的组成部分。
plc可以多种方式如直接采用现有的组态监控软件与上位监迭机通信,但针对小规模的控制系统,找到一种高性能价格比的通信方法,具有积极的实际意义。
本文就日本三菱公司生产的fx2n可编程控制器与pc机通信方式的实现,从软、硬件两个方面来说明这个问题。
1.上位机与plc通讯的原理在使用外部设备与可编程控制器通信之前,必须首先指定一些参数,如数据长度、奇偶校验、停止位和波特率,即通信格式。
通过四位十六进制数设置通信格式,此处设置为h6880。
这意味着数据长度为7位,终止符为7位,奇偶校验为无,控制线为RS232接口,停止位为1位,总和检查自动添加,波特率为9600bps,协议为特殊协议,标题为无,传输控制协议为协议格式1。
通信格式首先在PLC中设置。
协议格式的通信格式依次指定控制代码、站号、PC号、命令、消息等待和验证代码。
在FX系列可编程控制器中,通过专用寄存器d8121设置站号。
设定范围为00h至0Fh。
由于上位机仅与一台PLC气动试验台通信,站号为00h。
PC编号为MELSECNET(II)系列或MELSECNET/b系列上用来确定可编程控制器cpu的数字。
fx系列的pc号为ffh,由两位ascii字符来代表,即“ff”。
命令用来指定要求的操作(如读,写),在此控制软件中所使用的向plc发送的主要指令有:批量读出位元件br指令;批量写入位元件bw指令;强制plc运行(run)rr指令;强制plc停止(stop)rs指令。
消息等待是一段计算机要求的延迟时间,以实现在发送和接受状态间的转换。
和校验代码用来确定消息中的数据没有受到破坏。
它是通过加上和校验区域中的ascii字符的16进制值计算得到的。
上位机和plc在遵循相同的通讯格式和通讯协议下便可以进行通讯了。
PLC和PC通讯方法
PLC和PC实时通信方法的研究1 引言在工业控制系统中,PLC作为一种稳定可靠的控制器已经得到了广泛的应用。
但是由于中小型PLC的人机接口功能不很完善,不能提供给用户一个友好的交互界面,因此妨碍了对现场运行过程的跟踪与监控。
PLC实际工作中,通常人们采用4种装置为PLC配置人机界面:编程终端、显示终端、工作站及个人计算机。
编程终端主要用于编程与调试,其监控功能相对较弱。
显示终端的功能比较单一,主要用作现场显示。
工作站系统很受用户欢迎,它功能全面、使用简单,但由于要配置高级组态软件,因而价格比较昂贵。
个人计算机可配备多种高级语言,提供优良的软件平台,开发各种应用系统,特别是动态画面显示等,与PLC相结合组成一套PC-PLC监控管理系统,能够充分发挥它们各自的优点。
但是在该系统中,关键的问题就是通信,用户对此须做较多的开发工作。
本文详细阐述了PC与PLC互连通信的一般方法,并以永宏公司的FATEK-FBS PLC为对象,以实际四层电梯模型监控系统为例,介绍了利用大家都熟悉的编程语言Visual Basic 和Step7,实现PLC与上位计算机实时通信的通信过程。
2 通信方式面对众多生产厂家的各种类型PLC,它们各有优缺点,能够满足用户的各种需求,但在形态、组成、功能、编程等方面各不相同,没有一个统一的标准,各厂家制订的通信协议也千差万别。
目前,人们主要采用以下三种方式实现PLC与PC的互联通信:(1) 通过使用PLC开发商提供的系统协议和网络适配器,来实现PLC与PC机的互联通信。
但是由于其通信协议是不公开的,因此互联通信必须使用PLC开发商提供的上位机组态软件,并采用支持相应协议的外设。
可以说这种方式是PLC开发商为自己的产品量身定作的,因此难以满足不同用户的需求。
(2) 使用目前通用的上位机组态软件,如组态王、InTouch、WinCC、力控等,来实现PLC与PC机的互连通信。
组态软件以其功能强大、界面友好、开发简洁等优点目前在PC监控领域已经得到了广泛的应用,但是一般价格比较昂贵。
FX PLC与PC通信的实现
1 引言可编程控制器PLC是以微处理器为核心,综合计算机技术、自动控制技术和通信技术发展起来的一种通用工业自动控制装置,它具有可靠性高、体积小、功能强、程序设计简单、灵活通用、维护方便以及抗干扰能力强等优点,因而广泛应用于电力、冶金、能源、化工、交通等领域,但是大多数中小型PLC的显示功能较差,人机交互操作不便,管理人员不能及时了解现场情况,尤其是在现场调试中,为弥补PLC在这些方面的不足,在实际控制系统中,通常采用PLC作为下位机实现对生产过程的控制,以计算机作为上位机实现工艺流程参数显示、控制参数设置等功能,使PLC和计算机相互结合,充分发挥PLC在开关量、模拟量控制和计算机在管理、监控等方面的优势,以实现优势互补,极大提高控制系统的性价比。
实现计算机和PLC控制系统的关键是两者之间的通信,一般情况下,用户可以采用现有的组态软件实现监控,但该方法成本较高,为此本文介绍了在Visual Basic 6.0的环境下,实现计算机与三菱FX系列PLC的串行通信方法。
2 PLC与计算机的通信端口连接FX系列PLC的编程接口采用RS-422标准,而计算机的串行口采用RS-232C标准,因此采用接口模块FX-232A W将RS-422标准转换为RS-232C标准。
如图1所示,计算机、PLC 与FX-232A W之间采用反馈与交叉相结合的连接图。
图1 FX-232A W接口引线连接图·引脚2、3:将引脚2、3交叉互连,使PLC与上位机之间能发送和接收数据。
·引脚4、5:将引脚4、5反馈短接,对计算机发送数据来说,PLC总是处于数据准备就绪状态,计算机在任何时候都可以将数据送到PLC中。
·引脚6、20:将引脚6、20交叉互连,对计算机来说就必须检测PLC是否处于准备就绪状态,即检测引脚6是否为高电平。
当引脚6为高电平时,表示PLC准备就绪,可以接收数据,这时计算机就可以向PLC发送数据了;反之,当引脚6为低电平时,PLC与计算机则不能通信。
PLC与计算机的通信
PLC的通信与计算机通信网络一、PLC通信概述1.PLC通信的基本概念(1) 基本名词解释1)通信communication,一般把计算机与外部设备之间的数据交换称为通信,广义的说,就是指外部设备之间的数据交换。
2)通信协议communication protocol 对通信双方必须遵守的数据格式、同步方式、传输速率、纠错方式、控制字符等进行的约定,也称为通信控制规程或传输控制规程。
3)通信介质数据交换的载体,也称通信线路或传输介质。
主要有双绞线、同轴电缆、光缆等。
4)波特率Bade rate 通信速率,指通信线路中每秒钟传送的二进制位数据的数量,基本单位为比特/秒(bit/s),可以是k bit/s、M bit/s。
5)比特比特(bit)是计算机数据处理与运算的基本单位,代表二进制的一个位(“1”或“0”);比特也是信息传输的基本单位。
为了实现数据的发送与接收,数据传输的字符只能用计算机能识别的二进制形式表示,每一个二进制位,称为一个“比特”。
6)字符编码为使计算机能识别不同的字符,可以通过若干位二进制的组合来代表不同的字符,这种编码方式称为字符编码。
例如:BCD编码(Binary Coded Decimal)就是通过4位二进制来表示十进制数0~9。
数据通信中常用ASCII码(American Standard Code for Information Interchange)美国标准信息交换编码,用7位二进制码来代表一个字符,如下表所示0 1 2 3 4 5 6 716进制代码0 DLE SP 0 @ P p1 SOH DC1 ! 1 A Q aq2 STX DC2 “ 2 B R br3 ETX DC3 # 3 C S cs4 EOT DC4 S 4 D T dt5 ENQ NAK % 5 E U eu6 ACK SYN & 6 F V fv7 BEL ETB ‘ 7 G W gw8 BS CAN ( 8 H X hx9 HT EM ) 9 I Y iyA LF SUB * : J Z jzB VT ESC + ; K [ k{C FF FS , < L \ l|D CR GS - = M ] m}E SO RS . > N ︿n~F SI US / ? O _ oDEL表中水平方向为高位,垂直方向为低位,如字符“JK”,对应的ASCII码为“4A、4B”。
C# 实现PC与PLC(三菱Fx系列)串口通信
}
}
//The return code of the method is displayed by the hexadecimal.
txt_ReturnCode.Text = String.Format("0x{0:x8} [HEX]", iReturnCode);
C# 实现 PC 与 PLC(三菱 Fx 系列)串口通信 串口是计算机上一种非常通用的设备通信协议。 大多数计算机包含两个基于 RS-232 的串口。 PLC 采用的是三菱公司的 FX1N©系列产品,支持的串口通信协议是 422,不支持 232 协议, 所以要 调用第三方提供的动态库实现 PC 与 PLC 之间串口通信。 1.首先到三菱官网
读写 PLC 常用方法。
4. 主要代码示例
int iReturnCode;
//Return code
//Displayed output data is cleared.
ClearDisplay();
//
//Processing of Open method
//
try
{
//获取端口号
var item =
lpcom_ReferencesProgType.ActUnitType = 0x0f; //设置为 FX1N(C) lpcom_ReferencesProgType.ActCpuType = 0x207; //set PROTOCOL_SERIAL lpcom_ReferencesProgType.ActProtocolType = 0x04; // Specify the baud rate for serial communication. lpcom_ReferencesProgType.ActBaudRate = 9600; //设置端口号 Specify the connection port number of personal computer. lpcom_ReferencesProgType.ActPortNumber = COMPort;
VC++编程让PC机与三菱PLC串口通讯的实现
VC++编程让PC机与三菱PLC串口通讯的实现随着微电子及控制技术的不断发展,PLC已逐渐成为一种智能型、综合型控制器,由PLC构成的集散控制是现代工业控制的一个重要组成部分。
PLC具有使用简单方便,故障率低,抗干扰能力强等优点;但同时,数据的计算处理与管理能力较弱,且无法提供良好的人机界面。
将计算机与PLC结合起来,可使两者优势互补,充分利用计算机友好的人机界面,实现人机对话和监控功能,并可进行一定的辅助决策,组成高性能价格比的控制系统。
实现计算机与PLC结合的控制系统的关键之一是二者之间的通信。
本设计选用三菱FX2N系列的PLC,以Visual c++6.0作为开发工具对PLC通讯主程序进行设计,串口通讯采用ActiveX控制Microsoft Communication Control 6.0,最后用PLC编程电缆将PLC编程口与计算机串口连接进行调试。
1 三菱PLC与计算机之间通信协议串行通信是指外设和计算机间使用一根数据信号线一位一位地传输数据,每一位数据都占据一个固定的时间长度。
“串行”是指外设与接口电路之间的信息传送方式,CPU与接口之间仍按并行方式工作。
串行通信的四个重要参数:波特率(衡量通信速度的参数)、奇偶校验位(一种简单的检错方式)、数据位(衡量通信中实际数据位的参数)和停止位(表示单个数据包的最后一位)。
(1)三菱FX2N系列通信数据帧格式FX2N系列的PLC与计算机之间的通信采用RS-232C标准,其传输速率一般设为9 600 bps,实际传输过程还可设其它,比如115 200 bps 等。
奇偶校验位采用偶校验。
数据以帧为单位发送和接收。
一个多字符帧由起始字元、命令号码、元件首地址、结束字元、和校验五部分组成,其中和校验值是将命令码STX—ETX之间的字符的ASCII码(十六进制数)相加,取得所得和的最低二位数。
STX和ETX分别表示该字符帧的起始标志和结束标志。
起始字元(STX):ASCII码的起始字元STX对应的16进制数位0x02。
pc 与欧姆龙plc网口通讯
pc 与欧姆龙plc网口通讯PC与欧姆龙PLC网口通信计算机的出现极大地提高了人们的工作效率和生活水平。
而现在,随着物联网技术的飞速发展,PC与欧姆龙PLC网口通信的应用也越来越广泛。
本文将探讨PC与欧姆龙PLC网口通信的原理、方法以及应用。
一、PC与欧姆龙PLC网口通信的原理欧姆龙PLC(Programmable Logic Controller,可编程逻辑控制器)作为现代工业自动化控制的核心设备,其通过网口(Ethernet Port)与PC进行通信。
网口通信是指利用以太网协议完成数据交换和通信的方式,可以实现PC与PLC之间的数据传输与控制。
在此过程中,PC作为主机,负责发送和接收数据,而PLC作为从机,负责执行指令和返回数据。
二、PC与欧姆龙PLC网口通信的方法1.基于TCP/IP协议的通信方式TCP/IP是一种网络通信协议,通过该协议可以实现可靠的数据传输。
在基于TCP/IP协议的通信方式中,PC和PLC分别作为客户端和服务器,通过建立Socket连接实现数据的交互。
2.使用专门的通信模块除了基于TCP/IP协议的通信方式,还可以通过使用专门的通信模块来实现PC与PLC的网口通信。
这些通信模块通常由欧姆龙生产,并具有良好的兼容性和稳定性。
用户只需根据具体的通信需求,选用适合的通信模块,进行相应的配置和连接,即可实现PC与PLC之间的网口通信。
三、PC与欧姆龙PLC网口通信的应用1.工业自动化控制PC与欧姆龙PLC网口通信在工业自动化控制中得到广泛应用。
通过该通信方式,PC可以实时监控和控制PLC的运行状态,进行生产过程的实时监测和调整。
这大大提高了生产线的智能化程度和生产效率。
2.远程监控与管理利用PC与欧姆龙PLC网口通信的特点,可以实现对PLC的远程监控与管理。
无论是在工业生产现场还是远程的管理中心,只需通过互联网即可完成对PLC的远程控制与调试,极大地方便了管理人员的工作。
3.数据采集与分析通过PC与欧姆龙PLC网口通信,可以实时采集PLC的运行数据,并通过PC上的数据采集软件进行处理和分析。
PLC pc
3)选择适当的操作系统提供的软件平台,利用与PLC交换的数据编制用户要求的画面。
4)若要远程传送,可通过Modem接入电话网。若要PC具有编程功能,应配置编程软件。
3. PC与PLC实现通没有什么困难。只要为PC配备该种PLC网专用的通信卡以及通信软件,按要求对通信卡进行初始化,并编制用户程序即可。用这种方法把PC连入PLC网络存在的唯一问题是价格问题。在PC上配上PLC制造厂生产的专用通信卡及专用通信软件常会使PC的价格数倍甚至十几倍的升高。
用户普遍感兴趣的问题是,能否利用PC中已普遍配有的异步串行通信适配器加上自己编写的通信程序把PC连入PLC网络,这也正是本节所要重点讨论的问题。
带异步通信适配器的PC与PLC通信并不一定行得通,只有满足如下条件才能实现通信。
1)只有带有异步通信接口的PLC及采用异步方式通信的 PLC网络才有可能与带异步通信适配器的PC互连。同时还要求双方采用的总线标准一致,都是RS-232C,或者都是RS-422(RS-485),否则要通过“总线标准变换单元”变换之后才能互连。
5. PC与PLC互联通信方式
目前PC与PLC互联通信方式主要有以下几种:
1)通过PLC开发商提供的系统协议和网络适配器,构成特定公司产品的内部网络其通信协议不公开。互联通信必须使用开发商提供的上位组态软件,并采用支持相应协议的外设。这种方式其显示画面和功能往往难以满足不同用户的需要。
4. PC与PLC互联的结构形式
用户把带异步通信适配器的PC与PLC互联通信时通常采用如图7-12所示的两种结构形式。一种为点对点结构,PC的COM口与PLC的编程器接口或其它异步通信口之间实现点对点链接, 如图7-12a所示。另一种为多点结构,PC与多台PLC共同连在同一条串行总线上,如图7-12b所示。多点结构采用主从式存取控制方法,通常以PC为主站,多台PLC为从站,通过周期轮询进行通信管理。
PLC与上位机的通信实现
PLC与上位机的通信实现本文先介绍了S7-200系列PLC的三种通信方式,及其在网络中通信的RS-232C和RS-485标准。
在实例中,采用西门子公司的S7-200系列PLC为下位机,按照RS2485标准与上位机通信;通信协议为以自由口模式创建用户自定义的协议,数据传输格式为16进制ASCII编码,求和校验;上位机采用VC编程的可视化界面。
关键词:PLC;串行通信;VC编程;自由口模式1、引言工业控制领域中PLC作为一种高效、灵活、可靠的控制器,有着广泛的应用。
以PLC控制器为核心,上位PC机为实时监控体的控制系统已成为工业自动化PLC控制系统的一个发展方向。
实现PLC与PC的通信可以实现向上级提供诸如工艺流程图、动态数据画面、报表显示等多种窗口技术,使PLC控制系统具有良好的人机界面,通过上位机对PLC数据的读写监控实现现场数据的采集、传送以及生产过程调度的自动化和信息化,其应用前景十分广阔。
常用的各种PLC网络有差异,但表现在PLC 通信程序、系统联结和系统配置等方面,通信机理有统一性。
目前市场上通信组态系统结构复杂,价格昂贵,应用繁琐,不适应用户使用。
针对上述问题笔者以西门子公司的S7-200系列的PLC为研究对象,提出了一种用VC实现上位机与PLC通信的方法。
2、S7-200系列PLC通信方式西门子S7-200系列性能优良,性价比较高,适用范围很广,因此本文主要讨论西门子7-200系列与计算机之间的通信。
S7-200系列通信方式有三种:(1) 点对点PPI方式,用于与西门子公司的PLC编程器或其他该公司人机接口产品的通信。
该种通信方式采用的是MSComm ActivcX控件。
PPI是主/从协议,网络上的S7-200均为从站,其他CPU、SIMATIC编程器或TD200为主站。
如果在用户程序中允许PPI主站模式,一些S7-200CPU在RUN模式下可以作主站,它们可以用网络读和网络写指令读写其他CPU中的数据。
plc的通讯协议
plc的通讯协议全文共四篇示例,供读者参考第一篇示例:PLC(Programmable Logic Controller)是一种用于自动化控制的计算机系统,它被广泛应用于工业控制领域。
在实际工程应用中,PLC需要与外部设备进行通信来完成对系统的控制和监控,这就需要使用通讯协议来实现不同设备之间的数据交换。
本文将介绍一些常见的PLC通讯协议。
1. Modbus协议Modbus是一种基于串行通信协议的通信协议,它最初由Modicon公司开发用于与PLC进行通信。
Modbus协议简单易用,被广泛应用于工业控制领域。
Modbus协议定义了数据帧的格式和通讯规则,包括读写数据、读写寄存器等操作。
Modbus协议支持串行通讯和以太网通讯,可以适用于不同的通讯环境。
Profibus是一种用于工业自动化领域的通讯协议,它定义了一系列规范和标准,用于PLC与外部设备之间的通讯。
Profibus协议可以支持不同的通讯速率和通讯模式,适用于各种工业控制系统。
Profibus协议有较高的可靠性和稳定性,可以满足工业控制系统对通讯的高要求。
3. Ethernet/IP协议Ethernet/IP协议是一种基于以太网的通讯协议,它可以实现不同设备之间的数据交换和通讯。
Ethernet/IP协议具有较高的数据传输速率和稳定性,适用于大规模工业控制系统的通讯需求。
Ethernet/IP协议支持TCP/IP和UDP/IP等通讯协议,可以实现实时数据的传输和控制。
5. DeviceNet协议DeviceNet是一种用于设备级网络的通讯协议,它可以实现PLC与外部设备之间的通讯和控制。
DeviceNet协议具有简单易用的特点,可以快速实现设备之间的数据交换和控制。
DeviceNet协议支持多个设备的连接,适用于工业控制系统中设备较多的场合。
PLC通讯协议在工业自动化领域起着至关重要的作用,它可以实现不同设备之间的数据交换和控制,进而实现对工业系统的高效管理和控制。
基于FINS协议的计算机与PLC以太网通信
基于FINS协议的计算机与PLC以太网通信计算机与PLC以太网通信基于FINS协议近年来,计算机与PLC(可编程逻辑控制器)之间的通信变得越来越重要,特别是在工业自动化控制领域。
为了实现高效且可靠的通信,基于FINS(Factory Interface Network Service)协议的计算机与PLC以太网通信逐渐流行起来。
本文将探讨基于FINS协议的计算机与PLC以太网通信的原理、特点以及应用。
一、基于FINS协议的计算机与PLC以太网通信原理基于FINS协议的计算机与PLC以太网通信的原理主要包括以下几个方面:1. 网络连接:首先,计算机和PLC之间需要通过以太网进行连接。
计算机通过以太网与PLC通信模块相连,确保双方能够互相传输数据。
2. FINS协议:FINS协议是由欧姆龙公司开发的一种通信协议,用于实现计算机与PLC之间的数据交互。
该协议支持多种通信方式,例如TCP/IP、UDP等,具有较高的可靠性和灵活性。
3. 数据传输:计算机和PLC之间的数据传输主要通过FINS协议进行。
计算机可以向PLC发送指令,PLC接收指令后执行相应的控制逻辑,并将结果返回给计算机。
另外,计算机还可以获取PLC的实时状态信息,用于监控和调试。
二、基于FINS协议的计算机与PLC以太网通信特点基于FINS协议的计算机与PLC以太网通信具有以下几个特点:1. 高效可靠:FINS协议采用底层的以太网通信方式,具有较高的传输速率和可靠性。
这意味着计算机可以实时地与PLC进行通信,确保控制指令的准确执行。
2. 灵活性强:FINS协议支持多种通信方式,使得计算机与PLC之间的通信更加灵活。
无论是在局域网还是互联网环境下,都可以通过FINS协议实现数据交互,满足不同需求的应用场景。
3. 扩展性好:基于FINS协议的计算机与PLC以太网通信支持多点连接,即一个计算机可以同时连接多个PLC。
这种扩展性的设计可以满足复杂控制系统中多个PLC的通信需求。
S7-200系列PLC与PC机通信问题的探讨
S7-200系列PLC与PC机通信问题的探讨摘要:S7-200系列PLC在工控领域应用中占有重要地位,系统可以与Profibus现场总线相连接。
SIMATIC WinCC采用了32位技术的过程监控软件,与S7-200系列PLC的通信,并对PPI和Profibus两种通信进行了分析,通过第三方软件和S7-200系列PLC通信。
关键词:S7-200PLC 通信监控软件S7-200系列PLC体积小,功能强大,系统配置方便,可以与强大的Profibus现场总线相连接。
它比监控组态软件WinCC推出晚,因此WinCC中没有集成通信驱动程序;其通信协议也不公开,应用第三方软件编制监控程序也有问题。
这些问题给它的应用带来了一定的限制,为了解决这个实际工程问题,就S7-200系列PLC与监控计算机通信问题进行探讨。
1 S7-200 PLC控制系统监控方法比较S7-200系列PLC监控主要在大多数控制系统中,仅是实现控制是不够的,在许多情况下也需要组态监控界面对系统进行监控。
通过监控可以增加人机交互的能力,使操作人员实时地监控系统工作情况并使系统操作变得方便。
对S7-200系列PLC组成的控制系统进行监控一般有三种方法:组态软件监控、第三方软件编制的监控软件监控和触摸屏监控[1]。
(1)组态软件监控:西门子PLC提供的WinCC组态软件是首选,组态软件WinCC实现监控,功能强大,灵活性好,但软件价格高,需要解决WinCC与S7-200系列PLC的通信问题,在复杂控制系统中可以采用此方法[2]。
(2)第三方软件编制的监控软件实现监控:灵活性好,系统投资低,能适用于各种中小型系统。
但开发系统工作量较大、可靠性难保证,还必须购买通信协议软件。
在系统资金投资有限,技术人员水平较高的情况下可以采用此方法。
(3)触摸屏进行监控:可靠性高,监控实现容易,用户不用考虑触摸屏与PLC之间的通信问题。
灵活性一般,功能有限,不能满足复杂控制系统的监控要求,而且价格高。
计算机与PLC串行通信协议浅析
D A :D si t nSrc A c s o t 目的服务存取点 S P ( etai e i c s P i ) n o ve e n S A (o r ev eA cs o t源服务存取点 S P:Suc Sri ces i ) e c Pn
B t 82 ,0 储器偏移量指针 ( ye2 ,9 3 存 存储 器地址 * ) 8 B t 1 ye3 校验 和, D 即( A+S +D A A S P+S AP U)Mo 5 S +D d2 6
B t 2结 束 符 1H ye3 6
其余 字节为 0 H, 0 以下是读 V 10的完整格 式 : B0
1 P I 议 P 协
P Ip i i ) P ( n t p n 协议是西门子公司的私有协议 , o t oo t 不对 外公开 。它是西门子公 司专 门为 S —0 P C设计 的基 于字 72 0 L 符 的异步通信协议 , 该协议 只有物理层 、 链路层及应用层 , 而 省略 了通用协议所必须的其它层 , 信息 传送 速率快 。协议 的 报文规范涵盖 了对 P C的读 、 锁定 、 L 写、 解锁 、 连接测试 、 、 开
6 E Er6 2 0 C 2 010 0 0 0 0 E 0 LX 0 1 8 L L 80 0 6 3 0 0 0 0 0 0 0 5 0
1 A 0 20 1
P C发读写 指令 按如下格 式 … , L P C作 出接收 正确 的响 应( 返回应答数据 E H)上位 机接 到此 响应则发 出确认命令 5 , (00 25 E 1 )P C再返 回给上位 机相应数据 。 1 00 C 5 6 , L
PLC通信
▪ PLC控制网络中,网络结构分为3种基本形 式(或称网络拓结构):总线结构、环形结构 和星形结构,如图所示。每一种结构都有 自身的优点和缺陷,实际使用时可根据情 况选择其中之一。
▪ 可以采用3种调制方式:调频、调幅和调相
数据传送方向
▪ 单工通信方式 ▪ 半双工通信方式 ▪ 全双工通信方式
数据传送介质
▪ 在PLC网络中,数据传送的介质主要有双 绞线、同轴电缆和光缆,如果传送距离较 远,还可以利用电话线,其他介质如电磁 波、红外线、微波等应用较少
串行通信接口标准
▪ 在工业网络中经常采用RS—232,RS—485及RS—422标准的串行 通信接口进行数据通信
PLC通信
▪ 在PLC与上位微机、PLC与PLC及PLC与现场设 备之间建立起来的控制层面的网络,构成了PLC 的系统联网。
▪ PLC联网是实现控制自动化、资源共享和集散控 制的重要环节。随着自动化、信息化、智能化的 不断发展,PLC联网势在必行。
▪ 为此,很多PLC厂家都陆续开发了自己的通信接 口或通信模块,使PLC的控制向着高速化、多层 次、大信息传送和开放性方向发展。
常用通信模块
▪ PLC与PLC之间的通信是通过专用的通信 模块来实现的。
▪ 通信模块Fx2N—485—BD或者Fx2N— 422—BD支持Fx2N系列PLC双机并联通信, 可以很方便地实现两台Fx2N系列PLC之间 的数据和状态进行全双工的自动交换,亦 可实现Fx2N与FX系列PLC通信
PLC网络
▪ 随着计算机技术、自动控制技术的飞速发 展,PLC通信在工业自动化中所起的作用 越来越引起人们的重视。
▪ 由PLC、计算机、远程I/O相互连接所形 成的分布式控制系统、现场总线控制系统 已逐步形成,这种大规模的PLC多机通信 系统实际上就构成了PLC网络系统。网络 化已成为PLC发展的主要方向
探讨OPC技术的PC与S7-300PLC的实时通信
探讨OPC技术的PC与S7-300PLC的实时通信0 引言西门子 S7-300/400 PLC 通信接口只有多点接口MPI 和分布式外设接口DP,分别使用MPI 协议和Profibus 协议。
但是这两种协议都不公开, 使得该系列PLC 与PC 机通信实现变得困难[1]。
因此采煤机远程监控系统中,如何采集数量和种类不断增多的现场信息以及解决通信兼容是其关键技术之一。
由于不同的厂商提供的协议不同,甚至同一厂商的不同类型设备和计算机通信的协议也不相同[2]。
在计算机系统中,不同的编程语言对驱动程序的接口有不同的要求,所以每一个客户的应用程序在从数据源读取数据时,由于软件或硬件的不一致性,对于不同的设备都要开发不同的驱动程序,这就导致了软件开发商的大量重复性劳动[3],并且由于可能存在多个应用程序同时访问同一设备带来访问冲突,导致系统崩溃。
OPC技术的出现,很好的解决这一问题。
1 OPC 技术OPC 建立在OLE 规范之上,它为工业控制领域提供了一种标准的数据访问机制。
OPC规范包括OPC 服务器和OPC 客户端两个部分,其实质是在硬件供应商和软件开发商之间建立了一套完整的“规则”,只要遵循这套规则,数据交互对两者来说都是透明的,硬件供应商无需考虑应用程序的多种需求和传输协议,软件开发商也无需了解硬件的实质和操作过程。
1.1 OPC 规范OPC 规范主要包括:DA (Data Access) 规范、AE(Alarm and Event) 规范、HAD (Historydata access) 规范、Batch 规范、Security 规范以及XML -DA 规范等。
目前应用最为广泛的是OPCDA 规范,该规范提供了服务器和客户端之间实时数据的存取方法[4]。
1.2 OPC 主要包含两种接口OPC 主要包含两种接口:CUSTOM 标准接口和OLE 自动化标准接口。
自定义接口是一组COM 接口,主要采用C++语言的应用程序开发。
三菱FX系列PLC与计算机无协议通讯
address
03h
sum
Welcome To
Download !!!
欢迎您的下载,资料仅供参考!
03h
34h,39h
PLC返回
ACK (06H)接受正确
NAK (15H)接受错误
3、位设备强制置位/复位
FORCE ON置位
始
命令
地址
终
和校验
STX
CMD
ADDRESS
ETX
SUM
02h
37h
address
03h
sum
FORCE OFF复位
始
命令
地址
终
和校验
STX
CMD
ADDRESS
ETX
SUM
02h
再转换成ASCII
31h,30h,46h,36h
PLC返回
STX
1ST DATA
2ND DATA
.....
LAST DATA
ETX
SUM
注:最多可以读取64个字节的数据
例子:从指定的存储器单元读到3584这个数据
02h
33h
35h
ห้องสมุดไป่ตู้38h
34h
03h
44h,36h
2、DEVICE WRITE(向PLC软设备写入值)
始
命令
首地址
位数
数据
终
和校验
STX
CMD
GROUP ADDRESS
BYTES
1ST DATA
2ND DATA
......
LAST DATA
ETX
SUM
例子:向D123开始的两个存储器中写入1234,ABCD
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PLC与PC计算机通信
请问,我的PLC与PC计算机通信采用RS-232无协议通信方式(梯形图RS指令方式,可自定义通信协议),目前,PLC中串行通信程序已编出,听说PC机那块还要编程(用VB或VC++),才能最终实现通信,是不是类似自己编通信协议,究竟应该怎么弄,我不太清楚,望各位工控前辈指点一下!
以下是对《PLC与PC计算机通信》的回复:
匿名回复:
VB用MSCOMM控件或者用WIN32 API自己写。
匿名回复:
PC机的串口和PLC的串口一样,也需要对其编程才能实现数据的收发。
看来PLC的通讯程序应该不是你自己编的,最多是依葫芦画瓢,因为你对串行通讯好象还没建立起基本的概念。
:)
在你这个项目里面,上位机通讯程序的作用就是接收PLC送过来的数据,也可能还要向PLC发送数据。
你所说的“无协议通讯”实际上真正的含义应该是“未采用业界现行的一些标准通讯协议(比如Modbus 协议),而是按自己定义协议编写程序”。
所谓“通讯协议”的概念说白了实际上就是对如下一些问题作出明确的约定:
1、上位机于下位机之间需要交换哪些数据
2、按什么格式发送这些数据
我这里来举两个简单的通讯协议的例子,希望以此能让新入行的师弟师妹们对“通讯协议”这个看上去很深奥,其实很简单的东东能有个清楚的认识
例1:某项目中,PLC需要每隔1秒钟把一个温度测量值送往上位机,上位机不需要向PLC返回任何信息。
分析:这是个最简单的通讯协议的例子,发送对象只有一个,所以我们在通讯协议中只需把这么几条说清楚就可以:
1、所发送数据的含义
比如你PLC发来一串字符“1234”,作为上位机首先需要知道的当然是“PLC送来的这个数值是什么数据"。
在我们这个例子中,很简单,就是所测的温度值。
2、数据发送的格式
明确了数据的含义,那么下面需定义的就是数据的格式了。
所谓数据格式,说句大白话就是你PLC 发来的“1234”这个数据,是不是就代表当前温度就是1234℃,如果不是,那么我上位机还需再作什么样的处理后才能得到当前真正的温度。
我们假设在这个例子中,PLC发送的温度值为4位数,前两位代表温度值的“十位”和“个位”,后两位代表小数点后1位和后两位,即发送来的数值“1234”并不是代表当前温度为1234℃,上位机还需把这个数值再乘以0.01才是当前真正的温度.
这样,一个最简单的协议就完成了。
协议写好了,那么PLC和上位机各自通讯程序的任务也就清楚了吧。
PLC的任务就是把温度值按4位整数的格式发往上位机,而上位机的任务呢,就是接收这些数据,并把收到的数据再乘以0.01,得出实际的温度值。
例2:在例1的基础上,我们再作些变化,原先是只采集一个数据,现在增加为采集A,B,C 3路温度值,依旧是每隔1秒钟把数据上传一次,上位机不返回任何信息。
分析:由于1次要发送3个温度值,所以例1中的“纯数字格式”无法再使用,必须修改协议。
1、数据含义
3个温度值
2、数据格式
为能正确区分去3个温度值,我们把一些字母掺杂到数据中,所以新的数据格式定义如下:
(1)、3个温度值排列顺序为“ABC”
(2)、3个温度值的结尾加上字母“M”以便于把3个温度值隔开
(3)、每个温度值的格式与例1一样,仍然是4位整数,前两位表示十位与个位,后两位为小数
这样,PLC发来的数据格式就应该是“xxxxMxxxxMxxxxM”。
假设A,B,C 3路温度当前为12.35℃,
20.21℃和45.12℃,则PLC发送的数据应为“1235M2021M4512M”
通讯协议变复杂了,PLC和上位机通讯程序的任务也就变复杂了。
PLC发送数前先要把数据按协议所规定的格式组织好,而上位机接收到数据后先要按协议中所规定的格式把所需要的数据分离出来。
通过上面两个例子,大家对通讯协议这个东东的真正含义应该清楚了吧。
所交换的数据越多,则通讯协议就越复杂。
但不管是简单的协议也好还是复杂的协议也好,其根本的目的只有一个---就是把所需交换的数据的内容与格式描绘的清清楚楚。
如有问题欢迎和我继续讨论,若我的叙述中有不妥之处请大家指出,谢谢。