国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

OPC客戶程序(VB篇——同步)

2024-07-21 02:20:56
字體:
供稿:網(wǎng)友
建立如下窗體:

引用如下:

代碼如下:
option explicit
dim withevents serverobj as opcserver
dim withevents groupobj as opcgroup
dim itemobj as opcitem

private sub command_start_click()

dim outtext as string

on error goto errorhandler

command_start.enabled = false
command_read.enabled = true
command_write.enabled = true
command_exit.enabled = true

outtext = "連接opc服務(wù)器"
set serverobj = new opcserver
serverobj.connect ("xxxserver")'xxxserver為某opc服務(wù)器名稱

outtext = "添加組"
set groupobj = serverobj.opcgroups.add("group")

outtext = "adding an item to the group"
set itemobj = groupobj.opcitems.additem("xxxitem", 1)'xxxitem為添加的item名稱

exit sub


errorhandler: '如果出現(xiàn)異常,則報出錯誤。
msgbox err.description + chr(13) + _
outtext, vbcritical, "error"


end sub

private sub command_read_click()'同步讀

dim outtext as string
dim myvalue as variant
dim myquality as variant
dim mytimestamp as variant

on error goto errorhandler

outtext = "讀item值"
itemobj.read opcdevice, myvalue, myquality, mytimestamp
edit_readval = myvalue
edit_readqu = getqualitytext(myquality)
edit_readts = mytimestamp

exit sub

errorhandler:
msgbox err.description + chr(13) + _
outtext, vbcritical, "error"

end sub

private sub command_write_click()'同步寫

dim outtext as string
dim serverhandles(1) as long
dim myvalues(1) as variant
dim myerrors() as long

outtext = "寫值"
on error goto errorhandler



serverhandles(1) = itemobj.serverhandle
myvalues(1) = edit_writeval
groupobj.syncwrite 1, serverhandles, myvalues, myerrors

edit_writeres = serverobj.geterrorstring(myerrors(1))

exit sub

errorhandler:
msgbox err.description + chr(13) + _
outtext, vbcritical, "error"

end sub


private sub command_exit_click()'停止,刪除item,刪除group,刪除server。
dim outtext as string

on error goto errorhandler

command_start.enabled = true
command_read.enabled = false
command_write.enabled = false
command_exit.enabled = false

outtext = "刪除對象"
set itemobj = nothing
serverobj.opcgroups.removeall
set groupobj = nothing
serverobj.disconnect
set serverobj = nothing

exit sub

errorhandler:
msgbox err.description + chr(13) + _
outtext, vbcritical, "error"

end sub


private function getqualitytext(quality) as string

select case quality
case 0: getqualitytext = "bad"
case 64: getqualitytext = "uncertain"
case 192: getqualitytext = "good"
case 8: getqualitytext = "not_connected"
case 13: getqualitytext = "device_failure"
case 16: getqualitytext = "sensor_failure"
case 20: getqualitytext = "last_known"
case 24: getqualitytext = "comm_failure"
case 28: getqualitytext = "out_of_service"
case 132: getqualitytext = "last_usable"
case 144: getqualitytext = "sensor_cal"
case 148: getqualitytext = "egu_exceeded"
case 152: getqualitytext = "sub_normal"
case 216: getqualitytext = "local_override"

case else: getqualitytext = "unknown error"
end select

end function




發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁晋县| 巧家县| 库伦旗| 长顺县| 西乡县| 永康市| 达拉特旗| 奉化市| 辽中县| 平阳县| 麻阳| 土默特左旗| 山丹县| 茌平县| 都兰县| 精河县| 徐州市| 闽清县| 德令哈市| 邢台县| 金昌市| 会东县| 滦平县| 温宿县| 册亨县| 依兰县| 英吉沙县| 安宁市| 涿鹿县| 璧山县| 吴江市| 陆良县| 鞍山市| 苏尼特左旗| 佛山市| 嘉义市| 白玉县| 光泽县| 沙田区| 龙江县| 安化县|