西门子CP243通信控件
0赞
发表于 7/27/2010 11:16:59 PM
阅读(1826)
该控件经过多年现场运用,功能完善可靠,可操作的变量类型有I、Q、M、V、S、SM。非注册版本仅能操作变量区前10个,注册版本无个数限制,并且注册一份,不限用户个数,可以任意发布使用(仅授权的公司的用户使用,否则追究相应的责任)。
提供有详细的示例程序,很容易掌握使用。
同类产品还有Modbus.ocx,S7_PPI.ocx,S7_MPI.ocx等控件
【属性】
RemoteHost CP243 IP地址
RemotePort CP243 端口号,默认102
RemotePort CP243 端口号,默认102
【方法】
OpenConnect 打开连接
CloseConnect 关闭连接
ReadData 读PLC数据
WriteData 写PLC数据
InitRegCompany 初始化注册公司名称
CloseConnect 关闭连接
ReadData 读PLC数据
WriteData 写PLC数据
InitRegCompany 初始化注册公司名称
【事件】
无
示例程序界面:

'*************************************************************************
'**函 数 名: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
'**函 数 名: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
'**函 数 名: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
'**函 数 名: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
'**函 数 名: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
'**函 数 名: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_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
'**函 数 名: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
'**函 数 名: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

