C#、VB.NET与三菱Q02、QJ71E71、L02、LJ71E71、FX3U、FX5U等通讯的DLL及调用源代码

1.0  通讯组件概述

该类通讯组件适用于基于PC高级语言的工业自动化控制系统,用于PC与可编程控制器(PLC)、智能仪表等进行数据通讯。组件采用动态链接库文件(*.DLL)的形式,在PC系统的项目工程里引用该组件,调用相应的属性与方法函数,即可快速实现PC与PLC的数据高效交换。
    DLL通讯组件无须安装,直接复制到工程文件目录,方便打包安装部署;无须任何配置,直接调用函数,与应用开发无缝衔接;多年工程经验
的软件团队开发测试,经过本公司及客户的海量实际应用检验,稳定可靠;采用稳定高效的内部协议,无须编写PLC内部程序配合,直接访问PLC的内存,通讯响应快速;内建动态管理的多独立线程连接,同时支持外部应用的多线程结构调用;兼容WINDOWS系统下的所有开发环境,包括各种版本的VB.NET、C#、VC++,以及DEIPHI 、VB、LabView等;支持几乎所有PLC的CPU自带通讯口、通讯扩展模块。


 

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

Q/L系列 以太网(MELSOFT 二进制):  EntQsPlc.DLL

Q系列串口(编程口)   ComQsPlc.DLL

Q/L系列 以太网(MC协议 ASCII):     EntQsPlc_Asc.DLL

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

   以太网(FX-ENT-ADP):   EntFxPlc_FXADP.DLL

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


3.0  数据类型

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

INT16:    16位有符号整数;

UINT16:   16位无符号整数;

DINT32:   32位有符号整数;

HEX32:    32位16进制字符;

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

BIN16:   16位二进制字符串;

 

4.0  函数与参数

4.1  函数参数

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

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

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

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

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

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

 

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

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

pcPort , Uint16, PC端的网络端口

plcIP , String ,PLC的IP地址

plcPort ,Uint16,  PLC的通讯端口

Handle, Integer ,返回网络句柄,多PLC网络时通过该句柄操作不同的PLC

SN , String,调用系列号码,与DLL成对使用,可联系本公司获取

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

 盐城人流医院-http://www.0515renliu.com

[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,函数执行结果,见5.3详细说明。

 

[DeLink]    断开与PLC的连接;

        参数:Handle, Integer , 网络句柄,多PLC网络时通过该句柄操作对应的PLC

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

   

[CmdRead]   读取多个PLC内存数据;

参数:Handle, Integer , 网络句柄,多PLC网络时通过该句柄操作对应的PLC

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

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

Address ,Uint16, 要操作的字的起始地址

Count ,Uint16, 要操作的字的个数

ReData() , Object,读取到的数据(传址参数)

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

 

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

参数:Handle, Integer , 网络句柄,多PLC网络时通过该句柄操作对应的PLC

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

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

Address ,Uint16, 要操作的字的起始地址

Count ,Uint16, 要操作的字的个数

Data() , Object,要写入PLC的数据(传址参数)

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

 

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

参数:Handle, Integer , 网络句柄,多PLC网络时通过该句柄操作对应的PLC

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

Address ,Uint16, 要操作的位所在的字地址

Bit,Uint16, 要操作的位在字地址内的位号码

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

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

 

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

参数:Handle, Integer ,网络句柄,多PLC网络时通过该句柄操作对应的PLC

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

Address ,Uint16, 要操作的位所在的字地址

Bit,Uint16, 要操作的位在字地址内的位号码

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

 

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

参数:Handle, Integer ,连接句柄,多PLC网络时通过该句柄操作对应的PLC

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

Address ,Uint16, 要操作的位在字地址内的位号码

Bit,Uint16, 要操作的位号码

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

 

4.2  枚举结构体参数说明:

--PlcMemory   要操作的PLC的内存区域类型

X:   输入端口;

Y:    输出端口

M:   内部继电器M区域;

D:    数据区域;

EM:    EM扩展数据区域;

--PrtType  串口通讯的校验方式

  None:无校验

Odd:奇校验

  Even:偶检验

  Mark:特殊校验

 

4.3  返回值说明:

 执行成功;

-1  IP地址或端口参数错误;

-2  网络连接错误;

-3  连接参数错误

-4  PLC握手连接异常;

-5  PLC握手无响应;

-6  PLC握手响应错误;

-10 读数据超过最大数据量限制;

-11 读数据时数据发送异常;

-12 读数据时PLC响应超时;

-13 读数据PLC返回格式错误;

-14 读数据PLC返回数据错误;

-20 写数据超过最大数据量限制;

-21 写数据时数据发送异常;

-22 写数据PLC响应超时;

-23 写数据PLC返回格式错误;

-24 写数据PLC返回数据错误;

-31 数据转换时源数据处理错误;

-32 数据转换时目标数据处理错误;

-70 PLC内存区域的功能受限制;

-80 PC系统中无网卡;

-81 PC的IP地址格式错误;

-82 PLC的IP地址格式错误;

-83 PING命令返回错误;

-99 连接序列号错误或测试次数超过试用限制;

 

5.0  组件使用步骤

a. 复制组件文件到需要用到该组件的工程项目目录下;

b. 注册组件及其相关资源(DotNet框架的组件无须此步骤);

c. 在项目编程软件里面引用该组件,不同的编程语言引用方式有区别,具体参见所用语言的MSDN帮助文档;

d.  参照例程定义、实例化通讯组件,编写相关通讯代码;

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值