西门子CP243通信控件

简介: 该控件经过多年现场运用,功能完善可靠,可操作的变量类型有I、Q、M、V、S、SM。非注册版本仅能操作变量区前10个,注册版本无个数限制,并且注册一份,不限用户个数,可以任意发布使用(仅授权的公司的用户使用,否则追究相应的责任)

该控件经过多年现场运用,功能完善可靠,可操作的变量类型有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
相关文章
|
安全 前端开发 Devops
【devops】七、集成Sonar Qube(上)
【devops】七、集成Sonar Qube(上)
441 0
|
开发工具
Vim 模式切换 | 命令集
Vim 模式切换 | 命令集
432 0
|
Cloud Native 关系型数据库 分布式数据库
PolarDB的发展史
PolarDB的发展史
|
9月前
|
人工智能 供应链 搜索推荐
《深度融合:工业互联网架构与人工智能驱动智能制造新变革》
在全球制造业数字化、网络化、智能化的浪潮中,工业互联网网络架构与人工智能的融合成为智能制造的关键路径。工业互联网作为智能制造的基石,连接人、机器、车间等主体,实现全要素互联;人工智能则为其注入智慧引擎,带来自主学习、分析决策和优化能力。二者融合不仅重塑了生产模式,还开启了制造业创新发展的新篇章,助力企业实现高效生产、个性化定制和供应链协同管理。尽管面临技术、人才等挑战,但通过协同创新,智能制造正逐步变为现实,塑造未来工业新格局。
374 8
|
调度 Docker 容器
【赵渝强老师】Docker Swarm集群的体系架构
Docker Swarm自1.12.0版本起集成至Docker引擎,无需单独安装。它内置服务发现功能,支持跨多服务器或宿主机创建容器,形成集群提供服务。相比之下,Docker Compose仅限于单个宿主机。Docker Swarm采用主从架构,Swarm Manager负责管理和调度集群中的容器资源,用户通过其接口发送指令,Swarm Node根据指令创建容器运行应用。
229 0
|
机器学习/深度学习 人工智能 算法
人工智能浪潮下的编程实践:构建你的第一个机器学习模型
在人工智能的巨浪中,每个人都有机会成为弄潮儿。本文将带你一探究竟,从零基础开始,用最易懂的语言和步骤,教你如何构建属于自己的第一个机器学习模型。不需要复杂的数学公式,也不必担心编程难题,只需跟随我们的步伐,一起探索这个充满魔力的AI世界。
268 12
|
缓存 容器 Perl
【Azure Container App】Container Apps 设置延迟删除 (terminationGracePeriodSeconds) 的解释
terminationGracePeriodSeconds : 这个参数的定义是从pod收到terminated signal到最终shutdown的最大时间,这段时间是给pod中的application 缓冲时间用来处理链接关闭,应用清理缓存的;并不是从idel 到 pod被shutdown之间的时间;且是最大时间,意味着如果application 已经gracefully shutdown,POD可能被提前terminated.
315 3
|
网络协议 测试技术 网络架构
Ping命令的用途?
【8月更文挑战第14天】Ping命令的用途?
568 2
|
弹性计算 安全 Java
基于云效流水线 Flow的测评报告
基于云效流水线 Flow的测评报告
54394 7
基于云效流水线 Flow的测评报告
|
存储 关系型数据库 MySQL
深入浅出MySQL事务管理与锁机制
MySQL事务确保数据一致性,ACID特性包括原子性、一致性、隔离性和持久性。InnoDB引擎支持行锁、间隙锁和临键锁,提供四种隔离级别。通过示例展示了如何开启事务、设置隔离级别以及避免死锁。理解这些机制对优化并发性能和避免数据异常至关重要。【6月更文挑战第22天】
887 3