6ES7222-1BF22-0XA8诚信经营
6ES7222-1BF22-0XA8诚信经营
详细介绍vb与三菱plc通讯的方法, 以及vb与三菱plc通信。
在工业生产中,人们常常面临着数据采集与管理。作为工厂自动化的三大支柱可编程控制器 PLC(Programmable Logic Controller),由于其安全可靠,广泛的用于数据采集与控制。生产过程中,要监视PLC内部的数据与运行状况,选用市场上的人机界面或组态软件,虽然功能丰富,但大都价格昂贵,在一些中小规模的生产场合,人们希望能自己用语言开发一个简易实用的通信程序。使用Visual Basic 6.0,开发串行通信程序时,有两种方法,一种是用bbbbbbs API函数,另一种是用VB支持的通信控件 MSCOMM。以下介绍使用通信控件方式实现通讯
1.硬件
采用SC-09编程电缆,连接PC串口与PLC编程口实现通讯。
2.PLC编程口的通信协议简介
通信格式:
波特率9600,偶校验,8位数据位,一位停止位。 具体请参考有关资料,以下举例说明其通讯格式
1)、DEVICE READ(读出软设备状态值)
计算机向PLC发送:
3.vb与三菱plc通讯具体程序说明
MSComm控件简介用来提供简单的串行端口通信功能,也可以用来创建功能完备、事件驱动的通信工具。Mscomm控件提供了一系列标准通信命令的使用界面。使用它可以建立与串行端口的连接,通过串行端口再连接到其它设备(如调制解调器、PLC),发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。
数据读与写采用函数bbbbb和output
(1)窗口加载程序
Private Sub bbbb_Load()
MSComm1.CommPort = 1 ‘选择COM1口
MSComm1.Settings = "9600,e,7,1"
If mscomm1.portopen=false then mscomm1.portopen=true
End Sub
(2)数据读取子程序:
Public Function GetData(ByVal StartAddress As bbbbbb, ByVal GetBytes As Integer, ByVal Hex_Bytes As bbbbbb) As bbbbbb
MSComm1.bbbbbLen = GetBytes * 2 + 4
MSComm1.Output = STX + CMD_Read + StartAddress + Hex_Bytes + ETX + GetSumChk(CMD_Read + StartAddress + Hex_Bytes + ETX)
‘传送数据组成:起始符+命令+首地址+数据位+结束符+和检验码
GetData = MSComm1.bbbbb
MSComm1.InBufferCount = 0
MSComm1.bbbbbLen = 0
End Function
以上是vb与三菱plc通讯的方法,如果您对vb与三菱plc通信有什么疑问的话,可以在下边留言,获取帮助。
电力线通信(PLC)可以利用现有基础设施提供低成本的网络。数字信号控制器为PLC网络提供维持稳健信号所需的处理性能,其运行开销和片上外设可进一步降低系统成本。下文将对此作进行详细介绍。
在环境非常恶劣的工厂或室外经常能见到照明、测量和其他控制应用,但在这些地方的网络通信若不采取常规方法则变得异常困难。因为恶劣的环境不仅对信号有相当大的干扰,而且在许多情况下,如果还没有专用通信布线的话,安装费用也非常昂贵。因此,建立控制网络通信的佳介质将是无处不在的电力线。
PLC是各种网络工业、公共事业和商业应用中的监控网络的理想解决方案。然而为了达到较高的效率,PLC必须具备成本效益和稳健性。而要实现这些性能,系统开发人员可以借助于数字信号控制器所提供的强大性能和集成度。
与使用专用传输线的传统网络不同,PLC网络可以通过现有的低压、中压和高压电力线在数公里范围内收发数据。基于高性能数字信号处理器(DSP)技术的数字信号控制器可在恶劣环境中的全规模网络上实现可靠的PLC吞吐量,使其能够监控所有的网络节点。
高度集成的控制器还能降低系统成本和易于适应不断变化的网络需求。在工厂、公共事业分布系统、办公建筑群、矿山、海底电缆和其他恶劣环境中,数字信号控制器都可以在实时监控所需速率下支持高效的PLC传输。
单芯片modem和应用软件
在许多监控应用中,成本是首要考虑因素,因此这时系统的集成度越高越好。PLC系统功能可以被分成三部分:模拟前端(AFE)、调制解调器(modem)以及测量或控制应用软件。AFE主要用于接收和驱动信号,并将信号从电力信号中分离出来;modem则使用特定的频率和键控技术对通信信号进行调制和解调。虽然很多设计方案中的modem和应用软件采用不同的控制器,但数字信号控制器带给PLC设计的一个重要好处是其可以在单个器件中集成modem和应用软件。
位于数字信号控制器核心的DSP可提供比价格相当的RISC MCU强得多的运算性能,这些性能足以用来执行modem和应用软件。另外,片上外设是针对控制需求特别选取的,其提供的是一种系统解决方案。数字信号控制器的性能和集成度可以减少元件使用数量和电路板空间,这对诸如可调光照明镇流器、电子表和电机驱动器等成本敏感的应用非常有利。另外,DSP的可编程性使得系统能更好地适应环境干扰,从而提高传输的可靠性,而DSP的额外MIPS性能还可以用来增加功率因数补偿等功能,从而使终端产品具有更高的能效。
稳健的通信
由于典型的PLC使用环境比较恶劣,因此传输必须高度稳健。在多种能传送位的物理层调制方案中,有两种特别适合工业监视和控制的方案,即频移键控(FSK)和二元相移键控(BPSK)。由于该两种方案都不依赖电力信号作为载波,因此可以用在任何频率、任何电压值的AC和DC电力线上。而当节点的供电中断时,只要控制通信电路的独立供电不间断,FSK和BPSK还能照常工作。
FSK采用两个不同的频率发送信号,电平“1”时用74kHz,电平“0”时用63.3kHz;而BPSK则采用相同频率发送“1”和“0”,其相位差为180度。监控通信常用标准是CEA179,其指定BPSK发送频率为131.5kHz,波特率是5.5kbps或每个码元24个周期。虽然CEA-179没有对FSK加以规范,但它完全兼容该标准的协议栈,因此也可以使用CEA-179进行传输。在满足系统限制的前提下,数字信号控制器可以通过改变传输频率来避开干扰,从而提高通信性能。
图1是专为可靠性进行设计的CEA-179数据包格式。该数据包和位的边界是用于位同步的24位向量,后面是指示数据起始位的11位字同步信号。发送器将每8位指令编码成一个11位的字,在接收器侧再将其解码并移位至存储器缓存。在PLC中,指令数据还增加了16位的循环冗余校验码(CRC),EOP则使用重复的11位字进行识别。因此,CEA-179协议与BPSK和FSK的结合可确保稳健的PLC传输,并能为多节点的实时控制提供足够的带宽。
图1:CEA-179数据包格式。
PLC设计
下面给出了使用数字信号控制器直接实现PLC的设计实例。图2是用于诸如可调光镇流器等应用的AC环境下的PLC通信与控制系统框图。AFE接收器-发送器位于图的左边,modem和应用软件算法运行在中间的控制器上,右边则包含了应用电路。例如在一个电流解决方案中,一个测量芯片与C2000相连。测量芯片执行测量功能,C2000使用PLC发送测量数据。虽然本文重点放在FSK调制方面,但相同设计经过AFE和控制算法方面的少许修改也可以用于BPSK。
图2:PLC系统框图。
上述设计中使用的数字信号控制器是一个带DSP内核的器件,该内核工作在100MHz时可提供100MIPS的性能。在一个普通应用中,约45MIPS用于modem,余下约55MIPS可用来运行应用软件。在34KB片上闪存和一次性可编程存储器中,12KB用于modem代码;12KB的数据存储器中的5KB用于modem;其余的存储器空间则全部用于应用软件。控制器还提供6个带独立定时器的脉宽调制(PWM)输出,可用于modem和应用软件的信令传输。12位ADC使用单通道对所接收的信号进行采样,剩余的15个通道则处于空闲状态。数字信号控制器还提供了SPI和SCI接口用于本地通信,另外还有30多个通用I/O通道。
一、 选型说明: |
这个说明是查阅资料后编写的,如有相关意见可以修改。 整个需求分三部分: 1. 是利用现有的成熟的PLC技术,对各设备的监控点数据进行采集; 2. 再使用单片机技术,对PLC采集后的数据进行读取,并按照一定的格式存储在存储设备中,存储设备可以是U盘,存储卡等; 3. 使用读卡设备将存储的数据读出,并导入普通PC中,对读取数据进行分析。 |
二、 基本组成图: |
图1 总框图 |
三、 PLC数据采集: |
采用成熟的PLC技术,不需开发,使用西门子S7-200系列。 S7-200 PLC是串行通讯方式为丰富的小型PLC,支持多种通信协议,如点对点接口协议(PPI协议)、多点接口协议(MPI协议)和PROFIBUS协议以及自由通信协议等。其中自由通信协议又叫用户定义协议,利用自由端口模式,可以实现用户定义的通信协议,连接多种智能设备,使用起来非常方便,在第三方工程接入中取得了巨大的成功。 |
四、 单片机数据存储 |
此部分为整个技术的重点之一,他要完成的主要功能为,从PLC采集数据,并将数据按预先规定格式写入存储设备中,存储设备可设计成存储卡,U盘之类的。 |
1、 单片机与PLC通讯 |
单片机选用MCS51,MCS-51的串行口与MAX485芯片相接,然后与S7-200 PLC的RS-485口进行通讯,如图1所示: |
图1 MCS-51单片机与S7-200的硬件接线图 |
在自由端口模式下,PLC的串行通信接口由用户来控制,通过梯形图程序以及和单片机的汇编语言进行配合,来使用完成中断、字符接收中断、发送完成中断等,通信协议由用户完全控制。这时单片机处于主机状态,由单片机主动发送握手信号,PLC接到信号后被动反馈信息即可。 |
a) 通信协议设计 |
定义根据经验和有关参考资料,定义协议结构和参数。 |
(1)通信波特率为9.6kbps,无校验,8个数据位,1个可编程位,1位起始位,1位停止位。 (2)定义通信协议的数据流结构的格式为起始码、命令码、元件首址、字节数、数据块、BCC校验码和结束码。 ● 起始码:表示单片机与PLC开始发送数据,是数据流个字符,告诉PLC开始进行通信了,可以用00H表示 ● 命令码:表示单片机对PLC的各种操作: 40H:读取目标元件 I、Q、V、M、SM、L、T、C等的数据或状态;41H:修改目标元件 I、Q、V、M、SM、L、T、C等的数据或状态; 42H:强制目标单元为ON; 43H:强制目标单元为OFF; ● 元件首址:表示PLC内部的元件类型以及寄存器的地址(但不能表示一个位地址)。前两个字节表示寄存器类型,后两个字节表示寄存器号。00 00(H):I寄存器区 01 00(H):Q寄存器区。02 00(H):M寄存器区 08 00(H):V寄存器区; ● 字节数:从元件首地址起,读取或写入PLC元件的数据个数数据块:准备读取或者写入PLC的数据或状态; ● BCC校验码:在传输过程中,指令有可能受到任何的干扰而使原来的数据信号发生扭曲,此时的指令当然是错误的,为了侦测指令在传输过程中发生的错误,接收方必须对指令作进一步的确认工作,以防止错误的指令被执行,简单的方法就是使用校验码。BCC校验码的方法就是将要传送的字符串的ASCII码以字节为单位作异或和,并将此异或和作为指令的一部分传送出去;同样地,接收方在接到指令后,以相同的方式对接收到的字符串作异或和,并与传送方所送过来的值作对比,若其值相等,则代表接收到的指令是正确的,反之则是错误的 ● 结束码:结束字符标志着指令的结束,在本例中被定义为FFH,不同的PLC从站可以定义不同的结束字符以接收针对该PLC的指令。 |
b) 通信程序的实现 |
(1)单片机端程序的实现。单片机在主程序中初始化,采用串行口工作方式3[2],波特率为9.6kbps,采用单片机作为主机,向PLC进行呼叫,定期读取数据或者写入数据,其程序流程图参见图2。 |
图2 单片机端通讯程序流程图 |
(2)PLC端程序流程图的实现。PLC端作为从机,采用梯形图或者STL编程,主要是先设置通讯协议,然后按照协议把采集到的数据进行处理,再发送给主机单片机,其具体的程序流程图如图3所示。 |
图3 PLC端通讯程序流程图 |
2、 单片机数据存储实现 |
采用西安达泰电子的单片机读写U盘的模块 USB118AD,接线图如图4: |
图4 USB118接线图 |
说明:采用USB118AD模块直接连U盘。具体接口方式需查USB118AD相关资料。 |
五、 数据软件分析 |
通过U盘或其它存储设备,将数据读入电脑软件中,电脑软件根据实际业务需要设计相应的算法,对数据进行分析,以数据报表,图表等方式展现结果 |