ProU说明   快速入门   指令说明   运动控制   EtherCAT   C语言   可视化   CAD   通讯   PCI控制卡   MECHATROLINK   程序模板   ProH   YKCAT   视觉组件   WinPLC   附录  
上一页 下一页

API共享内存接口YKMEM

提供给第三方软件接口,用于访问网络上的ProH数据。本API内部使用共享内存的方式和ProH通讯

注意:第三方软件要求跟ProH在同一个电脑上

1.文件说明

YKMem.cs C#头文件,内含函数定义以及参数说明
YKMem.h C++头文件,内含函数定义以及参数说明
YKMemX64.lib Windows64位系统的lib文件
YKMem64.dll Windows64位系统的dll文件
YKMem86.lib Windows32位系统的lib文件
YKMem86.dll Windows32位系统的dll文件

文件目录:D:\YouKong\ProH\YKApi

2.返回值

0 无报错
-1 连接ProH失败,检查ip地址以及端口号是否对的上,以及查看ProH是否启动了modbus服务器
-2 无效的句柄,检查句柄是否为connect函数返回。
-3 元件类型错误
-4 数量越界,检查元件数量是否超出元件最大数量
-5 无效的连接句柄
-6 接收数据超时

3.连接管理

3.1获取库版本

指令原型 YK_API GetVer()
指令说明 获取库版本号
指令返回值 版本号

3.2连接服务器

指令原型 int ConnectEx(UInt32 gccat);
指令说明 连接ProH
gccat 1=gccat实时模式 0=mcsim仿真模式,根据proh的模式选择
指令返回值 大于0的数为成功,小于0的数为错误代码

3.3断开服务器

指令原型 int Close();
指令说明 关闭连接ProH,注意重启ProH后重新连接时,记得先把handle号关闭掉,再重连
指令返回值 参考

4.字元件读写

4.1读字元件

指令原型

ReadWordT( unsigned int index, unsigned int num, unsigned short *data); //读取计时器元件

ReadWordC16(unsigned int index, unsigned int num, unsigned short *data); //读取C计数器元件

ReadWordC32(unsigned int index, unsigned int num, unsigned short *data); //读取C高速计数器元件

ReadWordD(unsigned int index, unsigned int num, unsigned short *data); //读取D寄存器元件

ReadWordSD(unsigned int index, unsigned int num, unsigned short *data); //读取SD寄存器元件

ReadWordR(unsigned int index, unsigned int num, unsigned short *data); //读取R寄存器元件

ReadWordRD(unsigned int index, unsigned int num, unsigned short *data); //读取RD寄存器元件

ReadWordVD(unsigned int index, unsigned int num, unsigned short *data); //读取VD寄存器元件

指令说明 读取各种字元件,所有的函数参数都是一样的
handle Connect返回的句柄
index 读取的字元件起始索引
num 读取的字元件数量(一次最多125)
data 读取到的元件数据存储地址
指令返回值 参考

4.2写字元件

指令原型

WriteWordT(unsigned int index, unsigned int num, unsigned short *data); //写入计时器元件

WriteWordC16(unsigned int index, unsigned int num, unsigned short *data); //写入C计数器元件

WriteWordC32(unsigned int index, unsigned int num, unsigned short *data); //写入C高速计数器元件

WriteWordD(unsigned int index, unsigned int num, unsigned short *data); //写入D寄存器元件

WriteWordSD(unsigned int index, unsigned int num, unsigned short *data); //写入SD寄存器元件

YK_API WriteWordR(unsigned int index, unsigned int num, unsigned short *data); //写入R寄存器元件

WriteWordRD(unsigned int index, unsigned int num, unsigned short *data); //写入RD寄存器元件

YK_API WriteWordVD(unsigned int index, unsigned int num, unsigned short *data); //写入VD寄存器元件

指令说明 写入各种字元件,所有的函数参数都是一样的
index 写入的字元件起始索引
num 写入的字元件数量(一次最多125)
data 写入数据存储地址
指令返回值 参考

5.位元件读写

5.1读位元件

指令原型

ReadBitX(unsigned int index, unsigned int num, unsigned short *data); //读取X输入继电器元件

ReadBitY(unsigned int index, unsigned int num, unsigned short *data); //读取Y输出继电器元件

ReadBitM(unsigned int index, unsigned int num, unsigned short *data); //读取M辅助继电器元件

ReadBitSM(unsigned int index, unsigned int num, unsigned short *data); //读取SM继电器元件

ReadBitS(unsigned int index, unsigned int num, unsigned short *data); //读取S状态继电器元件

ReadBitB(unsigned int index, unsigned int num, unsigned short *data); //读取B继电器元件

ReadBitL(unsigned int index, unsigned int num, unsigned short *data); //读取L继电器元

ReadBitF(unsigned int index, unsigned int num, unsigned short *data); //读取F继电器元件

指令说明 读取各种位元件,所有的函数参数都是一样的
index 读取的位元件起始索引
num 读取的位元件数量(一次最多125)
data 读取到的元件数据存储地址; 注意:虽然data的数据类型为16位,但是每一个16位的数皆代表其中一个位,值都为0或者1
指令返回值 参考

5.2写位元件

指令原型

WriteBitX(unsigned int index, unsigned int num, unsigned short *data);
//写入X输入继电器元件

WriteBitY(unsigned int index, unsigned int num, unsigned short *data);
//写入Y输出继电器元件

WriteBitM(unsigned int index, unsigned int num, unsigned short *data);
//写入M辅助继电器元件

WriteBitSM(unsigned int index, unsigned int num, unsigned short *data); //写入SM继电器元件

WriteBitS(unsigned int index, unsigned int num, unsigned short *data);
//写入S状态继电器元件

WriteBitB(unsigned int index, unsigned int num, unsigned short *data);
//写入B继电器元件

WriteBitL(unsigned int index, unsigned int num, unsigned short *data);
//写入L继电器元

WriteBitF(unsigned int index, unsigned int num, unsigned short *data);
//写入F继电器元件

指令说明 写入各种位元件,所有的函数参数都是一样的
index 写入的位元件起始索引
num 写入的位元件数量(一次最多125)
data 写入的元件数据存储地址; 注意:虽然data的数据类型为16位,但是每一个16位的数皆代表其中一个位,值都为0或者1,其中大于1的都为1
指令返回值 参考

6.数据转换

6.1元件值转浮点数

指令原型 WordToFloat(short *word, float *fv)
指令说明 将读回来的元件转换为浮点数
word 读回来的元件值,2个16位二进制数
fv 浮点数结果
指令返回值 参考

6.2浮点数转元件值

指令原型 FloatToWord(float fv, short *word)
指令说明 将浮点数转换为元件值
fv 带转换的浮点数
word 转换结果,2个16位二进制数
指令返回值 参考

7.程序示例

点击下载

上一页 下一页
Copyright © 2020 深圳市优易控软件有限公司 www.proutech.com