上一页 | 下一页 |
提供给第三方软件接口,用于访问网络上的ProH数据。本API内部使用ModbusTCP协议和ProH通讯,访问前需要开启ProH的Modbus服务器功能。
YKApi.h | C++头文件,内含函数定义以及参数说明 |
YKApiX64.lib | Windows64位系统的lib文件 |
YKApiX64.dll | Windows64位系统的dll文件 |
YKApiX86.lib | Windows32位系统的lib文件 |
YKApiX86.dll | Windows32位系统的dll文件 |
文件目录:D:\YouKong\ProH\YKApi
0 | 无报错 |
-1 | 连接ProH失败,检查ip地址以及端口号是否对的上,以及查看ProH是否启动了modbus服务器 |
-2 | 无效的句柄,检查句柄是否为connect函数返回。 |
-3 | 元件类型错误 |
-4 | 数量越界,检查元件数量是否超出元件最大数量 |
-5 | 无效的连接句柄 |
-6 | 接收数据超时 |
指令原型 | YK_API GetVer() |
指令说明 | 获取库版本号 |
指令返回值 | 版本号 |
指令原型 | YK_API Connect(char *ip_addr, int ip_port) |
指令说明 | 连接ProH |
ip_addr | IP地址,例:"192.168.0.1"为本机。注意:当ProH与上位软件不在同一台机时,两机的网口网段必须设置为一样,127.0.0.1为本机ip |
ip_port | 端口号,在ProH系统设置中的'网络通讯'里的'modbus/tcp'处设置,默认502 |
指令返回值 | 大于0的数为句柄,小于0的数为错误代码 |
指令原型 | YK_API Close(int handle); |
指令说明 | 关闭连接ProH,注意重启ProH后重新连接时,记得先把handle号关闭掉,再重连 |
handle | Connect返回的句柄 |
指令返回值 | 参考 |
指令原型 | YK_API ReadWordT(int handle, unsigned int index, unsigned int num, unsigned short *data); //读取计时器元件 YK_API ReadWordC16(int handle, unsigned int index, unsigned int num, unsigned short *data); //读取C计数器元件 YK_API ReadWordC32(int handle, unsigned int index, unsigned int num, unsigned short *data); //读取C高速计数器元件 YK_API ReadWordD(int handle, unsigned int index, unsigned int num, unsigned short *data); //读取D寄存器元件 YK_API ReadWordSD(int handle, unsigned int index, unsigned int num, unsigned short *data); //读取SD寄存器元件 YK_API ReadWordR(int handle, unsigned int index, unsigned int num, unsigned short *data); //读取R寄存器元件 YK_API ReadWordVD(int handle, unsigned int index, unsigned int num, unsigned short *data); //读取VD寄存器元件 |
指令说明 | 读取各种字元件,所有的函数参数都是一样的 |
handle | Connect返回的句柄 |
index | 读取的字元件起始索引 |
num | 读取的字元件数量(modbus协议限制了,一次最多125) |
data | 读取到的元件数据存储地址 |
指令返回值 | 参考 |
指令原型 | YK_API WriteWordT(int handle, unsigned int index, unsigned int num, unsigned short *data); //写入计时器元件 YK_API WriteWordC16(int handle, unsigned int index, unsigned int num, unsigned short *data); //写入C计数器元件 YK_API WriteWordC32(int handle, unsigned int index, unsigned int num, unsigned short *data); //写入C高速计数器元件 YK_API WriteWordD(int handle, unsigned int index, unsigned int num, unsigned short *data); //写入D寄存器元件 YK_API WriteWordSD(int handle, unsigned int index, unsigned int num, unsigned short *data); //写入SD寄存器元件 YK_API WriteWordR(int handle, unsigned int index, unsigned int num, unsigned short *data); //写入R寄存器元件 YK_API WriteWordVD(int handle, unsigned int index, unsigned int num, unsigned short *data); //写入VD寄存器元件 |
指令说明 | 写入各种字元件,所有的函数参数都是一样的 |
handle | Connect返回的句柄 |
index | 写入的字元件起始索引 |
num | 写入的字元件数量(modbus协议限制了,一次最多125) |
data | 写入数据存储地址 |
指令返回值 | 参考 |
指令原型 | YK_API ReadBitX(int handle, unsigned int index, unsigned int num, unsigned short *data); //读取X输入继电器元件 YK_API ReadBitY(int handle, unsigned int index, unsigned int num, unsigned short *data); //读取Y输出继电器元件 YK_API ReadBitM(int handle, unsigned int index, unsigned int num, unsigned short *data); //读取M辅助继电器元件 YK_API ReadBitSM(int handle, unsigned int index, unsigned int num, unsigned short *data); //读取SM继电器元件 YK_API ReadBitS(int handle, unsigned int index, unsigned int num, unsigned short *data); //读取S状态继电器元件 YK_API ReadBitB(int handle, unsigned int index, unsigned int num, unsigned short *data); //读取B继电器元件 YK_API ReadBitF(int handle, unsigned int index, unsigned int num, unsigned short *data); //读取F继电器元件 |
指令说明 | 读取各种位元件,所有的函数参数都是一样的 |
handle | Connect返回的句柄 |
index | 读取的位元件起始索引 |
num | 读取的位元件数量(modbus协议限制了,一次最多125) |
data | 读取到的元件数据存储地址; 注意:虽然data的数据类型为16位,但是每一个16位的数皆代表其中一个位,值都为0或者1 |
指令返回值 | 参考 |
指令原型 | YK_API WriteBitX(int handle, unsigned int index, unsigned int num, unsigned short *data); YK_API WriteBitY(int handle, unsigned int index, unsigned int num, unsigned short *data); YK_API WriteBitM(int handle, unsigned int index, unsigned int num, unsigned short *data); YK_API WriteBitSM(int handle, unsigned int index, unsigned int num, unsigned short *data); //写入SM继电器元件 YK_API WriteBitS(int handle, unsigned int index, unsigned int num, unsigned short *data); YK_API WriteBitB(int handle, unsigned int index, unsigned int num, unsigned short *data); YK_API WriteBitF(int handle, unsigned int index, unsigned int num, unsigned short *data); |
指令说明 | 写入各种位元件,所有的函数参数都是一样的 |
handle | Connect返回的句柄 |
index | 写入的位元件起始索引 |
num | 写入的位元件数量(modbus协议限制了,一次最多125) |
data | 写入的元件数据存储地址; 注意:虽然data的数据类型为16位,但是每一个16位的数皆代表其中一个位,值都为0或者1,其中大于1的都为1 |
指令返回值 | 参考 |
指令原型 | YK_API WordToFloat(short *word, float *fv) |
指令说明 | 将读回来的元件转换为浮点数 |
word | 读回来的元件值,2个16位二进制数 |
fv | 浮点数结果 |
指令返回值 | 参考 |
指令原型 | YK_API FloatToWord(float fv, short *word) |
指令说明 | 将浮点数转换为元件值 |
fv | 带转换的浮点数 |
word | 转换结果,2个16位二进制数 |
指令返回值 | 参考 |
上一页 | 下一页 |