作者:乔山办公网日期:
返回目录:excel表格制作
暂时来说没有。因为涉及到很多数据计算转换,虽然抄PLC里有很多内置的数百据运算,但是其基本还是基于单片机运算得到,和EXCEL里的运算还有很大的差别,要度实现这一步还早。不管是问PLC厂家不会给你提供,就是有这方面的软件也不会给你提供。答他们只会留给系统升级,赚钱才是他们真正的目的。
可以的!
1.用243-1模块,给西门子200扩展一个以太网连接(带RJ45网线口)。
2.下载免费软件PC Access(s7200 OPC Server),装到监控电脑。
3.用WinCC和组态王都行。用组态王可以不用PC Access软件。
第一次要用适配器给200下载组态,设置好243-1的参数(IP,TASP地址),以后就可以用以太网修改程序和监控200PLC了。
4.在PC Access中组态变量,这个问题你自己就能看懂。
5.在WinCC中插入OPC通道连接,这个不会自己找怎么做。
6.WinCC中可以把刚才在PC Access中建立的变量导入WinCC中,不用重复输入。
可以了,在画面中可以使用这些变量了。
说明:别的组态软件也支持OPC,都很方便使用。
PC Access设置,一个小软件,自己搞定吧。
当然不用PC Access也行,那个不如这个简单。
顺便说下:组台王不便宜,使用简单,但是做大工程不方便,效率极低。
WinCC不贵。而且现在都有真的授权(不花钱但是真的)。在复杂项目上,用WinCC可以10天做完的工程,组态王一个月都未必能行。至于灵活性,WinCC次于Delphi,C#等编程软件,但由于组态王很多。
说多了,也不如你用一下试试。用了WinCC,就不一定想用组态王了。
但也有人被WinCC的复杂庞大给吓到了,改用组态王了。
在PC Access中建立控制变量时,不要建立I,Q。这些只能读,是不能更改的。Q是受程序控制的,监控电脑不起e799bee5baa6e997aee7ad94e58685e5aeb9335决定性作用。你应该这样做,用M或V变量。在200中编程序,用V或M变量控制Q,Q自然是控制外部设备的;然后用电脑读写你程序中的那些V或M。
变量怎么写,PC Access那个小软件,你一看就懂。
可以,Excel+VBA脚本,实现串口通讯,然后控制PLC。
EXCEL-VBA串口通讯实例
软件:EXCEL;硬件:艾默生EC10 PLC;功能:通过EXCEL中的按钮控制PLC的输出继电器Y0;
界面:RUN(运行通讯)、STOP(停止通讯)、Y0(Y0 ON/OFF控制)。
主程序:
Option Explicit
e799bee5baa6e79fa5e98193e78988e69d83366Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Public com1 As New MSCommLib.MSComm
Public y0Stt As Boolean
Public y0_on As Boolean
Public tmrFlag As Boolean
Public tmr As Long
Sub runn()
On Error GoTo ed
com1.Settings = "9600,e,8,1"
If com1.PortOpen = False Then
com1.PortOpen = True
End If
tmr = SetTimer(0, 0, 500, AddressOf ontimer)
Exit Sub
ed:
MsgBox "串口打开错误!"
End Sub
Sub stopp()
If com1.PortOpen = True Then
com1.PortOpen = False
KillTimer 0, tmr
End If
End Sub
Public Function ontimer()
Dim a(7) As Byte
Dim add As Long
On Error GoTo ed
If tmrFlag = False Then
tmrFlag = True
If y0_on = True Then
y0_on = False
If y0Stt = True Then
a(0) = &H1
a(1) = &H5
a(2) = &H0
a(3) = &H0
a(4) = &HFF
a(5) = &H0
a(6) = &H8C
a(7) = &H3A
com1.Output = a
add = 0
Do
DoEvents
Sleep 10
add = add + 1
If add >= 100 Then
Exit Do
End If
Loop Until com1.InBufferCount >= 8
Else
a(0) = &H1
a(1) = &H5
a(2) = &H0
a(3) = &H0
a(4) = &H0
a(5) = &H0
a(6) = &HCD
a(7) = &HCA
com1.Output = a
add = 0
Do
DoEvents
Sleep 10
add = add + 1
If add >= 100 Then
Exit Do
End If
Loop Until com1.InBufferCount >= 8
End If
End If
End If
tmrFlag = False
Exit Function
ed: MsgBox "串口错误!"
tmrFlag = False
End Function
界面程序:
Private Sub cmd1_Click()
y0_on = True
y0Stt = Not y0Stt
End Sub
Private Sub cmdRun_Click()
runn
CheckBox1.Value = 1
End Sub
Private Sub cmdStop_Click()
stopp
CheckBox1.Value = 0
End Sub