没有合适的资源?快使用搜索试试~ 我知道了~
关于C_如何使用Prodave(实战DllImport)
4星 · 超过85%的资源 需积分: 9 45 下载量 145 浏览量
2012-01-12
15:53:54
上传
评论 1
收藏 73KB DOC 举报
温馨提示
试读
12页
严格意义上讲,此文不算OPC的范畴。起因是,另一个项目的PLC强人说,OPC慢,用prodave吧,好,用就用吧,装好Prodave看是看其英文资料,虽然英文不好,但好在这里英文很简单。好了,上网查了点资料,这里还要感谢几个朋友的帮忙,让我对于C#与C++的数据结构有了更进一步的认识,也学会了使用DllImport
资源推荐
资源详情
资源评论
严格意义上讲,此文不算 的范畴。起因是,另一个项目的 强人说, 慢,
用 吧,好,用就用吧,装好 看是看其英文资料,虽然英文不好,但好
在这里英文很简单。好了,上网查了点资料,这里还要感谢几个朋友的帮忙,让我对于
与 的数据结构有了更进一步的认识,也学会了使用
在本文的开头,我要说明下, 是西门子的通信方式,即使我提供了
,您不注册也是没用用的,所以请使用西门子的安装程序,哪里下载?自己
百度一下。不要来问我哪里下载 ,也不要问我为什么程序会报错说没有注册
下面开始进入正文。
()上来第一个函数,就是连接 的 ,在说明书里描述如下:
!"#!!$%!&#! !'! (#!$!
!#!'!&#! !###! ! !"!##)!#
#! !#!$
!#!%#!!#!%!!#!!!*+,!!
###!-*!.
!!-!'! /!0##'!!"'
0+1!/!".2
#
34!%"!$! !!-!5!#.
0##
34!##!!-&,.!$! !!%#'!)!676!$! !
!!8!-$%.
"
34!) !$! !"!$!#!!"9! !%#!!"9#
"
34!!!##!#!$!!%##2!:0!;;8<!#!(!#! !!
(!$
!#
)!(-.
9$!%!=
%#)! !2!**!*+!#!##!->.
%#)! !3542!**!!##!-?>@8.
%#)! !342!**!0!##!-8@,88,8,8,00,++.
A!0B12
9$!#%!=
0B1!02!**!!##
%#)! !092!**!9!$!##C!*+!-.'!!->.'!0!-D.
%#)! !2!**!!%"
1
%#)! !B(2!**!B(!%"
A!0+12
)!(-.
好吧,起先其他的转换网上都有,不难,但是出现了 % 共用体,恩 没有这个
概念。怎么办?起先,参考网上的资料,采用
3%9%-9%E.4
#%!
=
3FG#-8.4
!2
3FG#-8.4
!"2
A
类似这样的布局,再加上类似3# 0#-H)9+9I09'!&#!
;!.4的声明。
但是,最终单纯的使用 > 个数组作为“共用体”字段的话是可以通过编译的,但是再加上
%#)! ! 的话,E 你是过不了编译的,就算过了运行也出错。反复尝试还是
失败,最后我联想到在内存中实际上这个共用体用的是一个以最大字段为空间大小的内存,
于是乎尝试了,直接定义3# 0#-H)9+9I09'!&#!;!
.4"9!34,果然解决了,共用体的问题,其实 传进去的参数也其实是 字节
的数组而已,进而想既然一个数组搞定,那么还用共用体干嘛,不要了,于是出现了如下
函数转换的正
解:
%"!#%!0+1**待连接 地址属性表
!!!!!!!!=
!!!!!!!!!!!!3# 0#-H)9+9I09'!&#!;!.4
!!!!!!!!!!!!**%"!0B1!02!**!!##
!!!!!!!!!!!!%"!"934!02!**!!##
!!!!!!!!!!!!**!*+!#!##!->.
!!!!!!!!!!!!**!!##!-?>@8.
!!!!!!!!!!!!**!0!##!-8@,88,8,8,00,++.
!!!!!!!!!!!!%"!"9!092!**!9!$!##C!*+!-.'!!->.'!0!-D.
!!!!!!!!!!!!%"!"9!2!**!!%"
!!!!!!!!!!!!%"!"9!B(2!**!B(!%"
!!!!!!!!A
3-66.4**连接 操作
!!!!!!!!**参数:连接号(8,D)、常值 676、待连接 地址属性表长度(字节
为单位,常值 ?)、待连接 地址属性表
!!!!!!!!%"!!#!!-!'!#)!
0##'!!"'!$!!0+1!".2
(>)关于 %#)! !/!+%G,这个 %#)! !/其实有 > 个转换可选,有
时可以使用 "934'有时则是 )+%'这就要集体问题具体分析了。例如C
2
!J##)!-!'!%#)!)!+%$'!%#)! /!
+%G.2
!9"%G!-%#)! !/!)+%G'!%#)! !
/%+%G'!%#)!)!0%.2
前者就转换成 )+% 后者是 "934。
(D)有些变量虽是整型但是可以用枚举,而且用枚举感觉更合适
例如 !"!-%#)!# !+('!%#)! !9'!%#)
# !'!%#)!)!/!0%'!%#)!)!+%$'!%#)
!/!B+%G'!%#)!)!/!.中,%#)! !9 其实
指的是“88>!;!+1'!885!;!KB'!88!;!KB!$%C!9!;!88>L
等数据类型
,因此可以翻译成
%"!%!9!C!"9** 数据类型
!!!!!!!!=
!!!!!!!!!!!!+1!;!88>'
!!!!!!!!!!!!KB!;!885'
!!!!!!!!!!!!KB!;!88'
!!!!!!!!A
(5)对了,如果是对象型的引用,比如 %#)! /转成 "934,是不需要加 $,
但如果是 ! 转 !!则要加 $ 关键字。
要说明的就是这些,下面请各位看官看看我的转换代码吧,还请见教:
!!!!%"!##!
!!!!=
!!!!!!!!)!常值定义(用于极限值)
!!!!!!!!%"!#!!0M!;!52!**!5!#!$%!!B0I
!!!!!!!!%"!#!!0MI0!;!>@2**!)!676
!!!!!!!!%"!#!!0M+HFFB!;!52!**!5!$!"(-.!!"(N-.
!!!!!!!!%"!#!!0M+HFFB!;!OOD2!**!#$!"%G!$!!.
!!!!!!!!)
!!!!!!!!)!结构体定义
!!!!!!!!%"!#%!0+1**待连接 地址属性表
!!!!!!!!=
!!!!!!!!!!!!3# 0#-H)9+9I09'!&#!;!.4
!!!!!!!!!!!!**%"!0B1!02!**!!##
!!!!!!!!!!!!%"!"934!02!**!!##
!!!!!!!!!!!!**!*+!#!##!->.
!!!!!!!!!!!!**!!##!-?>@8.
!!!!!!!!!!!!**!0!##!-8@,88,8,8,00,++.
!!!!!!!!!!!!%"!"9!092!**!9!$!##C!*+!-.'!!->.'!0!-D.
!!!!!!!!!!!!%"!"9!2!**!!%"
!!!!!!!!!!!!%"!"9!B(2!**!B(!%"
!!!!!!!!A
!!!!!!!!%"!%!9!C!"9** 数据类型
!!!!!!!!=
3
剩余11页未读,继续阅读
资源评论
- SYSTEMSROCK2016-02-12第一句话就没看明白,注册Prodave6.dll是要安装软件?
- sg_wyf2012-11-29很好,讲的很详细,很有帮助
- fulis2014-04-06用C#编程,内容很详细,新手可以自己按照步骤试试,很有收获。
beimo
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功