该控件经过多年现场运用,功能完善可靠,可操作的变量类型有I、Q、M、V、S、SM。非注册版本仅能操作变量区前10个,注册版本无个数限制,并且注册一份,不限用户个数,可以任意发布使用(仅授权的公司的用户使用,否则追究相应的责任)。
提供有详细的示例程序,很容易掌握使用。
同类产品还有Modbus.ocx,S7_PPI.ocx,S7_MPI.ocx等控件
【属性】
RemoteHost CP243 IP地址
RemotePort CP243 端口号,默认102
【方法】
OpenConnect 打开连接
CloseConnect 关闭连接
ReadData 读PLC数据
WriteData 写PLC数据
InitRegCompany 初始化注册公司名称
【事件】
无
示例程序界面:
http://www.sky-walker.com.cn/YeFan/S7_CP243.rar
'*************************************************************************
'**函 数 名:chkRun_Click
'**输 入:无
'**输 出:无
'**功能描述:
'**全局变量:
'**调用模块:
'**作 者:叶帆
'**日 期:2005-08-28 11:11:25
'**修 改 人:
'**日 期:
'**版 本:V1.0.0
'*************************************************************************
Private Sub chkRun_Click()
tmrRead.Enabled = IIf(chkRun.Value = 0, False, True)
End Sub
'*************************************************************************
'**函 数 名:cmdAbout_Click
'**输 入:无
'**输 出:无
'**功能描述:
'**全局变量:
'**调用模块:
'**作 者:叶帆
'**日 期:2005-11-18 16:44:43
'**修 改 人:
'**日 期:
'**版 本:V1.0.0
'*************************************************************************
Private Sub cmdAbout_Click()
CP243Client1.About
End Sub
'*************************************************************************
'**函 数 名:cmdClose_Click
'**输 入:无
'**输 出:无
'**功能描述:
'**全局变量:
'**调用模块:
'**作 者:叶帆
'**日 期:2005-11-19 11:00:41
'**修 改 人:
'**日 期:
'**版 本:V1.0.0
'*************************************************************************
Private Sub cmdClose_Click()
Unload Me
End Sub
'*************************************************************************
'**函 数 名:cmdCloseConnect_Click
'**输 入:无
'**输 出:无
'**功能描述:关闭连接
'**全局变量:
'**调用模块:
'**作 者:叶帆
'**日 期:2004-12-03 12:53:46
'**修 改 人:
'**日 期:
'**版 本:V1.0.0
'*************************************************************************
Private Sub cmdCloseConnect_Click()
CP243Client1.CloseConnect
picFlag.BackColor = RGB(255, 0, 0)
End Sub
'*************************************************************************
'**函 数 名:cmdOpenConnect_Click
'**输 入:无
'**输 出:无
'**功能描述:连接指定IP的服务器
'**全局变量:
'**调用模块:
'**作 者:叶帆
'**日 期:2004-12-03 12:51:50
'**修 改 人:
'**日 期:
'**版 本:V1.0.0
'*************************************************************************
Private Sub cmdOpenConnect_Click()
Dim lngReturn As Long
lngReturn = CP243Client1.OpenConnect(cmbIP.Text)
If lngReturn = 0 Then
picFlag.BackColor = RGB(0, 220, 0)
Else
picFlag.BackColor = RGB(255, 0, 0)
End If
End Sub
'*************************************************************************
'**函 数 名:cmdSendData_Click
'**输 入:无
'**输 出:无
'**功能描述:
'**全局变量:
'**调用模块:
'**作 者:叶帆
'**日 期:2005-08-27 23:59:32
'**修 改 人:
'**日 期:
'**版 本:V1.0.0
'*************************************************************************
Private Sub cmdReadData_Click()
On Error GoTo ToExit '打开错误陷阱
'------------------------------------------------
Dim i As Long
Dim bytType As Byte
Dim lngData() As Long
Select Case cmbType.ListIndex
Case 0: bytType = CP_I
Case 1: bytType = CP_Q
Case 2: bytType = CP_M
Case 3: bytType = CP_V
Case 4: bytType = CP_S
Case 5: bytType = CP_SM
End Select
If CP243Client1.ReadData(Val(txtAddr), lngData(), Val(cmbNum.Text), Val(cmbLen.ListIndex), Val(bytType)) = 0 Then
txtData = ""
For i = 1 To Val(cmbNum.Text)
txtData = txtData & Format(lngData(i - 1), "0") & " "
Next
Else
txtData = "Error"
End If
'------------------------------------------------
Exit Sub
'----------------
ToExit:
MsgBox Err.Description
End Sub
'*************************************************************************
'**函 数 名:cmdWriteData_Click
'**输 入:无
'**输 出:无
'**功能描述:
'**全局变量:
'**调用模块:
'**作 者:叶帆
'**日 期:2005-08-28 11:43:08
'**修 改 人:
'**日 期:
'**版 本:V1.0.0
'*************************************************************************
Private Sub cmdWriteData_Click()
On Error GoTo ToExit '打开错误陷阱
'------------------------------------------------
Dim bytType As Byte
Dim lngData(0) As Long
Select Case cmbType.ListIndex
Case 0: bytType = CP_I
Case 1: bytType = CP_Q
Case 2: bytType = CP_M
Case 3: bytType = CP_V
Case 4: bytType = CP_S
Case 5: bytType = CP_SM
End Select
lngData(0) = Val(txtData)
If CP243Client1.WriteData(Val(txtAddr), lngData(), 1, Val(cmbLen.ListIndex), Val(bytType)) = 0 Then
'
Else
txtData = "Error"
End If
'------------------------------------------------
Exit Sub
'----------------
ToExit:
MsgBox Err.Description
End Sub
'*************************************************************************
'**函 数 名:Form_Load
'**输 入:无
'**输 出:无
'**功能描述:端口初始化
'**全局变量:
'**调用模块:
'**作 者:叶帆
'**日 期:2003年12月21日
'**修 改 人:
'**日 期:
'**版 本:V1.0
'*************************************************************************
Private Sub Form_Load()
Dim i As Long
For i = 2 To 250
cmbIP.AddItem "192.168.0." & Format(i, "0")
Next
For i = 1 To 100
cmbNum.AddItem Format(i, "0")
Next
cmbNum.ListIndex = 0
cmbIP.ListIndex = 164
cmbType.ListIndex = 3
cmbLen.ListIndex = 0
CP243Client1.InitRegCompany "×××公司" '已注册的公司名称
End Sub
'*************************************************************************
'**函 数 名:Form_Unload
'**输 入:Cancel(Integer) -
'**输 出:无
'**功能描述:关闭串口
'**全局变量:
'**调用模块:
'**作 者:叶帆
'**日 期:2004-11-20 22:30:57
'**修 改 人:
'**日 期:
'**版 本:V1.0.0
'*************************************************************************
Private Sub Form_Unload(Cancel As Integer)
CP243Client1.CloseConnect
End
End Sub
'*************************************************************************
'**函 数 名:tmrRead_Timer
'**输 入:无
'**输 出:无
'**功能描述:
'**全局变量:
'**调用模块:
'**作 者:叶帆
'**日 期:2005-08-28 11:10:58
'**修 改 人:
'**日 期:
'**版 本:V1.0.0
'*************************************************************************
Private Sub tmrRead_Timer()
cmdReadData_Click
End Sub
'*************************************************************************
'**函 数 名:tmrSystem_Timer
'**输 入:无
'**输 出:无
'**功能描述:
'**全局变量:
'**调用模块:
'**作 者:叶帆
'**日 期:2004-12-03 12:55:25
'**修 改 人:
'**日 期:
'**版 本:V1.0.0
'*************************************************************************
Private Sub tmrSystem_Timer()
If CP243Client1.State = 7 Then
picFlag.BackColor = RGB(0, 220, 0)
Else
picFlag.BackColor = RGB(255, 0, 0)
End If
End Sub