专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > PB

PB于PLC通信,该怎么解决

发布时间:2011-06-29 20:31:28 文章来源:www.iduyao.cn 采编人员:星星草
PB于PLC通信
各位知道怎么用PB与PLC通信吗,
1·我只需要读取PLC的数据和修改PLC的值。请问有没有办法?
 2·我目前用C:\Program Files\SIEMENS\SIMATIC.NET\opc2\ocx中的sinet_opcdata.ocx控件进行处理,能写入数据,但是不能读取?请大家帮我看看是什么问题?
1.连接OPC服务器
long errn
errn=opc_1.object.connect()
if errn=0 then
 messagebox( "OK","连接成功!")
 cb_1.enabled=false
 cb_2.enabled=true
 cb_3.enabled=true
 cb_4.enabled=true

else
 messagebox( "Err","连接失败!")
end if

这部分是成功的。
2.写入数据,也是成功的
long ErrCode
ErrCode=opc_1.object.WriteVariable("S7:[DEMO]Md88",em_1.text)
if ErrCode=0 then
 messagebox ("OK","写入数据成功!")
else
 messagebox ("Err","写入数据失败!")
end if

3,读取数据,读取失败,请大家看看是什么问题?
long ErrorNr
any myValue 
long myQuality 
date myTimeStamp  
ErrorNr = opc_1.object.ReadVariable("S7:[DEMO]Md88", myValue, myQuality, myTimeStamp)
st_1.text=string(myValue)
if ErrorNr=0 then
 messagebox ("OK","读取数据成功!")
else
 messagebox ("Err","读取数据失败!")
end if

是不是函数的参数有问题,还是什么原因,请大家帮我看看,最好详细指点一下谢谢。 



如果有别的方法希望大家能告诉我怎么能最好的实现读写数据。谢谢了

------解决方案--------------------
帮你顶下,ReadVariable 这个函数有说明吗?研究一下说明?
------解决方案--------------------
可能是 any myValue 定义有问题;
看看说明,把myValue换种定义试试,如
string myValue
myValue = space(128)

因为上一个函数中 em_1.text 应该是文本的
------解决方案--------------------
long ErrorNr
any myValue 
long myQuality 
date myTimeStamp 

如果用vb的话,你这几个变量怎么定义?最大的嫌疑应该是这里。
any那个,前边兄弟以经说过了,不过看你的变量名,我的建议是 
long ErrorNr
any myValue 
long myQuality 
datetime myTimeStamp

还不行的话,再
long ErrorNr
string myValue 
long myQuality 
datetime myTimeStamp 

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: