资讯详情
三菱PLC通讯:实现VB和三菱FX系列PLC的通讯
发布者:milihong  发布时间:2021-12-09 16:26:23

在工业生产中,人们常常面临着数据采集与管理。作为工厂自动化的三大支柱可编程控制器 PLC(Programmable Logic Controller),由于其安全可靠,广泛的用于数据采集与控制。生产过程中,要监视PLC内部的数据与运行状况,选用市场上的人机界面或组态软件,虽然功能丰富,但大都价格昂贵,在一些中小规模的生产场合,人们希望能自己用高级语言开发一个简易实用的通信程序。使用Visual Basic 6.0,开发串行通信程序时,有两种方法,一种是用Windows API函数,另一种是用VB支持的通信控件 MSCOMM。以下介绍使用通信控件方式实现通讯

1.硬件

    采用SC-09编程电缆,连接PC串口与PLC编程口实现通讯。

2.PLC编程口的通信协议简介

   

命令 命令字 控制元件 备注
读元件 0 X,Y,M,S,T,C,D 读字/位元件状态
写元件 1 X,Y,M,S,T,C,D 写字/位元件状态
置位 7 X,Y,M,S,T,C 位元件置位
复位 8 X,Y,M,S,T,C 位元件复位


    通信格式:
    

命令字 首地址 数据区 结束符 和校验


    波特率9600,偶校验,8位数据位,一位停止位。 具体请参考有关资料,以下举例说明其通讯格式


    1)、DEVICE READ(读出软设备状态值)

    计算机向PLC发送:
   

命令 首地址 位数 数据 和校验
STX CMD GROUP BYTES 1ST 2ND
LAST EXT SUM


3.具体程序说明


    MSComm控件简介用来提供简单的串行端口通信功能,也可以用来创建功能完备、事件驱动的高级通信工具。Mscomm控件提供了一系列标准通信命令的使用界面。使用它可以建立与串行端口的连接,通过串行端口再连接到其它设备(如调制解调器、PLC),发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。

    数据读与写采用函数input和output
 
(1)窗口加载程序
    Private Sub Form_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 String, ByVal GetBytes As     Integer, ByVal Hex_Bytes As String) As String
    MSComm1.InputLen = GetBytes * 2 + 4
    MSComm1.Output = STX + CMD_Read + StartAddress + Hex_Bytes + ETX + GetSumChk(CMD_Read + StartAddress + Hex_Bytes + ETX)
    ‘传送数据组成:起始符+命令+首地址+数据位+结束符+和检验码
    GetData = MSComm1.Input
    MSComm1.InBufferCount = 0
    MSComm1.InputLen = 0
    End Function

版权声明:机电一体化网转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味 着赞同其观点或证实其内容的真实性。如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。联系电话:0571-87774297。
企业信息
杭州瑞菱自动化设备有限公司
会员级别:工业云会员
------------ 联系方式 ------------
联系人:高先生(先生)
联系电话:0571-28281044
联系手机:18058140004
传真号码:0571-63666349
企业邮箱:rlzdh2@qq.com
网址:milihong.jdzj.com
邮编:311300
地址:杭州市临安区苕溪南街金岸大厦1002
今日最新资讯
热门资讯
0571-87774297