PLC似乎是通过I/O交换数据的,可以通过PLC所带的光盘驱动实现窗体上使用timer控件,循环读取(IOread)当设备出现故障的时候, IOread的数据肯定有变化,扑捉并换算后显示在屏幕上例如,timer里类似:
Private Sub Timer1_Timer()
dim dataR as Single
dim data1 as single
if IOread()=故障标志 then
data1=........hextocd(dataR) '进行换算
me.text1=data1 '加控件text1用于显示
.......... ‘存盘
Me.Timer1.Interval = 0 ’停止timer。初值按你的扫描间隔设定
end if
End Sub
LZ的想法用VB可以实现.
1)可以通过串口或网口与PLC的相关接口通信.
2)按照PLC的说明书给出的通信协议编写代码.
首先你得输出来你用的PLC是什么品牌,这样才能却确定通信协议。我比较建议你用MACOMM去做这个程序,利用timer控件进行查询存储区的状态。然后进行判断。基本思路就是这样,当然你用的PLC品牌不一样,具体操作不一样,我用过欧姆龙和西门子的,这两个网上代码还是比较多的
使用vb封装好的自动化接口可以操作许多厂家生产的PLC,我们公司用的罗克韦尔的设备,上位机用rsview和rslinx,vb通过opc驱动连接rslinx……
做串口通讯 建议你还是用C 或者C++ 吧
不懂