VB、C#等高级语言与三菱PLC(Q系列、L系列、FX系列、A系列)串口、以太网通讯的DLL及源代码

1.0  通讯组件概述

     通讯组件用于PC与可编程控制器(PLC)、智能仪表等进行数据通讯,适用于基于PC高级语言的工业自动化控制系统。组件采用动态链接库文件(*.DLL)的形式,在PC系统的项目工程里引用该组件,调用相应的属性与方法函数,即可快速实现PC与PLC的高效数据交换。

     DLL通讯组件无须安装,直接复制到工程文件目录,方便打包安装部署;无须任何配置,直接调用函数,与应用开发无缝衔接;多年工程经验的软件团队开发测试,经过本公司及客户的海量实际工程应用检验,稳定可靠;采用稳定高效的内部协议,无须编写PLC内部程序配合,直接访问PLC的内存,通讯响应快速;内建动态管理的多独立线程连接,同时支持外部应用的多线程结构调用;兼容WINDOWS系统下的所有开发环境,包括各种版本的VB.NET、C#、VC++,以及DEIPHI 、VB、LabView等;支持几乎所有PLC的CPU自带通讯口、通讯扩展模块。

2.0  通讯组件名称及下载地址

PLC端口直接通讯:

     Q/L系列以太网(E71模块):    EntQsPlc.DLL

     Q/L系列以太网(MELSEC):    EntQsPlc.DLL

     Q系列串口(扩展口):             ComQsPlc_EX.DLL

     FX系列以太网(FX5U):          EntFxPlc.DLL

     FX系列以太网(FX3U):          EntFxPlc_ADP.DLL

     FX系列 串口(编程口):           ComFxPlc.DLL

     FX系列 串口(扩展口):           ComFxPlc_EX.DLL

    PLC数据采集到数据库:      相关软硬件资料下载

无法下载或它疑问可加微信lflzdh或者QQ532011903留言;

 

3.0  数据类型

     通讯组件能对PLC的输入、输出端口,以及内部中间继电器存储区域、内部数据存储区域,以及扩展存储区域进行读写操作,支持以下数据类型:

       BOOL1:      1位布尔型数据;

INT16:    16位有符号整数;

UINT16:   16位无符号整数;

DINT32:   32位有符号整数;

HEX32:    32位16进制字符;

REAL32:   32位单精度浮点数据;

       STRING:     多个字符或数字组成的字符串CII)

4.0  函数与参数

4.1  函数参数 

[EntLink]        设置PC、PLC的通讯参数,建立与PLC的以太网连接;

参数:    pcIP,String,本地地址,即PC端的IP地址

              pcPort , Uint16, 本地端口,即PC端的网络端口,默认为0

              plcIP , String ,远程地址,即PLC的IP地址

              plcPort ,Uint16,  远程端口,即PLC的通讯端口

              Handle, Integer ,DLL组件返回网络中PLC的连接句柄 *1

              SN , String,调用序列号码,可联系本公司获取

              OverTime,Uint16, 通讯超时时间限制,毫秒单位,默认1000

返回值:Int16,函数执行结果,见4.3详细说明。

[ComLink]   设置PC、PLC的通讯参数,建立与PLC的串口连接; 

参数:   CommPort,Uint16,联接PLC的PC通讯端口

CommRate,Int32,与PLC通讯的速率

DataBit, Uint16, 通讯数据位数

StopBit,Uint16, 数据的停止位数

Parity,PrtType, 数据校验方式

Station, Uint16, PLC的站号码

OverTime,Uint16, 通讯超时时间限制,毫秒单位

SN , String,调用序列号码,通过联系本公司获取

返回值:Int16,函数执行结果,见4.3详细说明

[DeLink]    断开与PLC的连接;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

返回值: Int16,函数执行结果,见4.3详细说明

[CmdRead]   批量读取PLC的数据;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory , PlcMemory, PLC数据区域枚举,见4.2详细说明

ValType, DataType, 数据类型枚举,见4.2详细说明

Address ,Uint16, 要读取的存储区域起始地址

Count ,Uint16, 要读取的数量,以ValType对应的数据类型为单位

ReData() , Object/String,读取到的数据(传地址方式的形式参数)

返回值: Int16,函数执行结果,见4.3详细说明

[CmdWrite]    批量写入数据到PLC;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory , PlcMemory, PLC数据区域枚举,见4.2详细说明

ValType, DataType, 数据类型枚举,见4.2详细说明

Address ,Uint16, 要写入的存储区域起始地址

Count ,Uint16, 要写入的数量,以ValType对应的数据类型为单位

Data() , Object/String,要写入PLC的数据(传地址方式的形式参数)

返回值: Int16,函数执行结果,见4.3详细说明

[Bit_Test]   以Bit(位)的方式读取一个位的状态;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory , PlcMemory, PLC数据区域枚举,见4.2详细说明

Address ,Uint16, 要读取的位所在的字或字节地址

Bit,Uint16, 要读取的位在Address中的位号码

State , Boolean,读取到的位的状态(传地址方式的形式参数)

返回值: Int16,函数执行结果,见4.3详细说明

[Bit_Set]    以Bit(位)的方式设置其状态为ON;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory , PlcMemory, PLC数据区域枚举,见4.2详细说明

Address ,Uint16, 要设置的位所在的字或字节地址

Bit,Uint16, 要设置的位在Address中的位号码

返回值: Int16,函数执行结果,见4.3详细说明

[Bit_Reset]   以Bit(位)的方式复位其状态为OFF;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory , PlcMemory, PLC数据区域枚举,见4.2详细说明

Address ,Uint16, 要复位的位所在的字或字节地址

Bit,Uint16, 要复位的位在Address中的位号码

返回值: Int16,函数执行结果,见4.3详细说明

[CmdReadString]   读取PLC中的字符串;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory , PlcMemory, PLC数据区域枚举,见4.2详细说明

Address ,Uint16, 要读取的存储区域起始地址

PlcDaize ,Uint16, PLC内定义的存放字符的最大字符数

返回值: String,正常时为读到的字符串,异常时为空

[CmdWriteString]   写入字符串到PLC;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory , PlcMemory, PLC数据区域枚举,见4.2详细说明

Address ,Uint16, 要写入的存储区域起始地址

PlcDaize ,Uint16, PLC内定义的存放字符的最大字符数

         Data ,String, 要写入到PLC的符数,长度应≤PlcDaize

返回值: String,正常时为读到的字符串,异常时为空

[DataConvert]   数据类型转换函数; 

参数:   SourType,DataType, 数据类型枚举,见4.2详细说明

SourData , Object,需要转换的源数据

DestType , DataType, 数据类型枚举,见4.2详细说

DestData ,Object,转换后的目标数据(传地址方式的形式参数)

StartByte ,Int16,目标数据从源数据取数的起始字节(可选参数)

返回值: Int16,函数执行结果,见5.3详细说明。

     *1: Handle参数说明

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypzpg.html