厦门海为科技有限公司 - 工业物联网|国产PLC|HMI|SCADA

廈門海為科技有限公司

請上傳logo 請上傳logo

國產PLC—Haiwell(海為)PLC與VB通訊源程序講解

2008-05-07 11:09:14 haiwell 987

在做自動化工程項目時常常需要用上位機對PLC進行監控,如果是大的工程項目可以使用組態軟件來完成,但對中小項目為了節約成本,可以采用自己寫上位機程序來完成對PLC的監控。


海為提供了一個海為PLC的通訊控件,通過這個控件實現上位機與海為PLC之間的通訊十分方便,它封裝了Modbus通訊協議和HaiwellBus協議,以點的形式實現對海為PLC的數據訪問,對每個點可以定義它的名稱/數據類型/小數長度/點注釋等,不必去了解Modbus通訊協議和HaiwellBus協議的具體內容,只要有上位機編程經驗就可以完成。

海為PLC的通訊控件和例子源程序可以到海為網站(http://www.www.hzcjl.com/download.asp)的“下載中心”下載。

 

下面以VB為例介紹該控件的使用,新建一個VB工程,添加2個窗口:

lQLPJxaJeo9MmU3NATLNAjCwLOMkAFDexwEC4k-9_sAnAA_560_306.png


lQLPJxaJeo9MmT_M2M0BdLAEmitl4IqTugLiT74KgNIA_372_216.png


窗口1的程序如下:

Option Explicit

'啟動跑馬燈按鈕

Private Sub Command1_Click()

    '啟動跑馬燈,M0置1,點序號30

    HWPLCComm1.HWPLCs(1).SetPointValue 30, 1

End Sub

'停止跑馬燈按鈕

Private Sub Command2_Click()

    '停止跑馬燈,M1置1,點序號31

    HWPLCComm1.HWPLCs(1).SetPointValue 31, 1

End Sub

'啟動采樣按鈕

Private Sub Command3_Click()

' HWPLCComm1是海為PLC通訊控件名稱,Timer1是畫面刷新定時器

    HWPLCComm1.Run Not HWPLCComm1.RunFlag

    Timer1.Enabled = HWPLCComm1.RunFlag

    If HWPLCComm1.RunFlag Then

        Command3.Caption = "停止采樣"

        Shape2.FillColor = vbGreen ‘采樣指示燈綠色

    Else

        Command3.Caption = "啟動采樣"

        Shape2.FillColor = vbWhite ‘采樣指示燈紅色

    End If

End Sub

'窗口1裝載

Private Sub Form_Load()

    Dim i As Long

    '添加1臺PLC,PLC地址為1,名稱為“1號PLC”

    HWPLCComm1.HWPLCs.AddPLC 1, "1號PLC"

    '在“1號PLC”下增加采樣點

    For i = 0 To 15

        HWPLCComm1.HWPLCs(1).AddPoint "y" & i '增加采樣點Y0-Y15

Next i

'在“1號PLC”下增加其他離散的采樣點

    HWPLCComm1.HWPLCs(1).AddPoint "sv0", , "當前掃描時間 單位0.1ms"

    HWPLCComm1.HWPLCs(1).AddPoint "sv1", , "最小掃描時間 單位0.1ms"

    HWPLCComm1.HWPLCs(1).AddPoint "sv2", , "最大掃描時間 單位0.1ms"

    HWPLCComm1.HWPLCs(1).AddPoint "sv12", "Year", "年"

    HWPLCComm1.HWPLCs(1).AddPoint "sv13", "Month", "月"

    HWPLCComm1.HWPLCs(1).AddPoint "sv14", "Day", "日"

    HWPLCComm1.HWPLCs(1).AddPoint "sv15", "Hour", "時"

    HWPLCComm1.HWPLCs(1).AddPoint "sv16", "Minute", "分"

    HWPLCComm1.HWPLCs(1).AddPoint "sv17", "Second", "秒"

    HWPLCComm1.HWPLCs(1).AddPoint "sv18", "Week", "星期"

    HWPLCComm1.HWPLCs(1).AddPoint "sm3", , "10ms時鐘脈沖"

    HWPLCComm1.HWPLCs(1).AddPoint "sm4", , "100ms時鐘脈沖"

    HWPLCComm1.HWPLCs(1).AddPoint "sm5", , "1s時鐘脈沖"

    HWPLCComm1.HWPLCs(1).AddPoint "m0", "Start", "跑馬燈啟動"

    HWPLCComm1.HWPLCs(1).AddPoint "m1", "Stop", "跑馬燈停止"

    HWPLCComm1.HWPLCs(1).AddPoint "v0"

    HWPLCComm1.HWPLCs(1).AddPoint "v2"

    HWPLCComm1.HWPLCs(1).AddPoint "v100", , "實數例子", [REAL ] '實數類型為5

    HWPLCComm1.HWPLCs(1).AddPoint "ccv50", , "32位計數器"

    HWPLCComm1.HWPLCs(1).AddPoint "ccv100", , "16位計數器"

    '將點加到Listview中顯示, Y0-Y15 16個點不加入,用指示燈來顯示狀態

    Dim Newitem As ListItem

    For i = 17 To HWPLCComm1.HWPLCs(1).PointCount

        Set Newitem = ListView1.ListItems.Add(, , i)

        Newitem.SubItems(1) = HWPLCComm1.HWPLCs(1).iPoints(i).PointAddress

        Newitem.SubItems(2) = HWPLCComm1.HWPLCs(1).iPoints(i).PointName

        Newitem.SubItems(4) = HWPLCComm1.HWPLCs(1).iPoints(i).PointNote

    Next i

'將PLC地址和名稱用標簽顯示

    Label3(0) = HWPLCComm1.HWPLCs(1).PLCAddress

    Label3(1) = HWPLCComm1.HWPLCs(1).PLCName

'將16只指示燈的標簽以點名稱顯示(Y0~Y15)

    For i = 1 To 16

        Label1(i - 1) = HWPLCComm1.HWPLCs(1).iPoints(i).PointName

    Next i

End Sub

'雙擊列表中的點打開窗口2,對該點的值進行修改

Private Sub ListView1_DblClick()

    Dim i As Long

    If Not ListView1.SelectedItem Is Nothing Then

        i = ListView1.SelectedItem.Index + 16

        Form2.vPointIndex = i

        Form2.Caption = "寫入值 " & HWPLCComm1.HWPLCs(1).iPoints(i).PointName

        Form2.Label1.Caption = "寫入值 " & HWPLCComm1.HWPLCs(1).iPoints(i).PointName & ":"

        Form2.Text1 = HWPLCComm1.HWPLCs(1).iPoints(i).PointValue

        Form2.Show 1

    End If

End Sub

' Timer1是畫面刷新定時器

Private Sub Timer1_Timer()

    '刷新值

    Dim i As Long

    '刷新Y0-Y15值

    For i = 1 To 16

        If HWPLCComm1.HWPLCs(1).iPoints(i).PointValue = 1 Then

            Shape1(i - 1).FillColor = vbRed '值=1,為真

        Else

            Shape1(i - 1).FillColor = vbWhite '值=0,為假

        End If

    Next i

    '刷新其他點值

    For i = 17 To HWPLCComm1.HWPLCs(1).PointCount

        ListView1.ListItems(i - 16).SubItems(3) = HWPLCComm1.HWPLCs(1).iPoints(i).PointValue

    Next i

End Sub

窗口2的程序如下:

Option Explicit

Public vPointIndex As Long '公共變量,存儲被雙擊點的序號

'確定按鈕

Private Sub Command1_Click()

    If Text1.Text = "" Then Exit Sub

'按確定,則寫入點的值

    Form1.HWPLCComm1.HWPLCs(1).SetPointValue vPointIndex, Text1.Text

    Unload Me

End Sub

'取消按鈕

Private Sub Command2_Click()

    Unload Me

End Sub

Private Sub Text1_GotFocus()

    Text1.SelStart = 0

    Text1.SelLength = Len(Text1)

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

    If KeyAscii = 13 Then

        Command1_Click

    End If

End Sub


運行結果如下圖:


lQLPJxaJeo9Ml9DNAUrNAjCwcnyozf1ciXgC4k-92ICEAA_560_330.png

微信技術客服:08:30-21:00
0592-3278716
關注我們

海為公眾號

海為云APP

主站蜘蛛池模板: 造雪机|人工造雪机|造雪机价格|造雪机厂家-河南晋安机械科技有限公司 | 四川迪瑞机电设备有限公司-容积式换热器|半容积式换热器|容积式换热机组|半容积式水加热器|换热器在线除垢防垢器|迪瑞机电 | 太原石膏基自流平,太原轻质抹灰石膏,太原腻子粉,太原抗裂砂浆-太原乔贝建筑材料有限公司 | 液位变送器_智能压力变送器_3051差压变送器_单双法兰,投入式,电容式,温度变送器-淮安润中仪表科技有限公司 | 永康风水大师选风水先生老徐 - 徐根法 | 景德镇晶达新材料有限公司 | 环链电动葫芦_钢丝绳电动葫芦_电动葫芦厂家_上海沪工起重机械有限公司 | 玉米脱皮制糁机-玉米深加工机械价格-玉米糁加工机器设备-玉米渣加工成套设备-河南粮院 | 猪粪烘干机|小型鸡粪烘干机|猪粪烘干机价格|小型鸡粪烘干机价格 - 河南宏科重工干燥机设备生产厂家 | 温州方圆仪器有限公司 工业自动化|自动化设备 - 温州方圆仪器有限公司 | 水晶粉丝机_粉丝机_粉皮机-开封市晟丰机械设备有限公司 | 组合包装箱,折叠包装箱,烟台木箱,烟台包装箱-烟台顺达包装有限责任公司 | 西安西雷脉冲功率技术有限公司-高压调制器/加速器与脉冲功率系统的研发/生产/应用推广/高压脉冲电源的应用研究/设计/生产和销售/高功率脉冲器件/材料与仪器设备的研发/生产和销售/高电压/大电流/强磁场环境的模拟及测试服务/会议会展服务/货物及进出口的业务/脉冲功率技术领域类的技术转让 | 私人家庭影院装修_别墅家庭影院设计_家庭影院价格方案-广州家庭影院定制公司 | 太阳能路灯-高杆灯-景观灯-玉兰灯-中华灯-LED市电-庭院灯厂家-扬州汉威光电科技有限公司 | 输送带_山东输送带厂家_橡胶传送带-山东中输输送机械有限公司 | 中国信息协会教育培训平台| 铸铁平台-焊接平台-划线平台-三维焊接平台厂家-泊头市溪海冶金机械设备有限公司 | 西藏旅游-西藏中旅-西藏中旅国际旅行社 | 上海慧泰仪器制造有限公司 | 小型生活污水处理设备_MBR膜生物反应器_口腔医院/脱脂污水处理设备_酸洗磷化/喷涂废水处理设备-上海台江环保 | 全玻璃视镜人孔-卡箍组件-常压单臂梁人孔-温州华强流体设备有限公司 | 上海恩计仪器首页-微生物限度检测仪-微生物限度仪厂家 | 山东腾达源金属材料官网-耐磨板nm400,nm400耐磨钢板,nm500耐磨钢板切割,耐候板批发,高强板现货【价格】 | 新洲际教育-一站式留学解决方案领航者【官网】 | 圣瞳智巡_大模型工业巡检解决方案|【圣瞳科技】 | 卷筒电缆_高柔性拖链电缆_聚氨酯电缆生产厂家-玖泰卷筒电缆 | 游离二氧化硅处理仪-恒温恒湿称重系统-智能蒸馏仪-硫化物酸化吹气仪-萃取仪-COD消解仪 | 陕西散花照明-西安太阳能路灯,陕西太阳能路灯,西安太阳能路灯厂家,陕西太阳能路灯厂家 | 陕西柱塞泵厂家_智能张拉设备_桥梁施工设备_千斤顶_液压分裂棒_液压分裂枪|陕西中拓矿山设备有限公司 | 康明斯柴油发电机厂家-康明斯发电机(深圳)有限公司 | 徐州恒铭机械设备有限公司_装载机配件_压路机配件_起重机配件_挖掘机配件_配件_徐州恒铭机械设备有限公司 | 衡水一体化污水处理设备|循环水旁滤器|加药装置|钢厂浊环净化装置|河北欧意科技集团有限公司 | 装盒机_全自动装盒机-温州凯祥包装机械有限公司 | 桁架楼承板_钢筋桁架楼承板厂家-山东新材料科技| 上海千舟新材料有限公司-美卓隔膜滤板_奥图泰滤板_压滤机配件 | 徐州电动垃圾车|三轮快速保洁车|电动高压冲洗车|江苏大卫王环保科技有限公司 | 全自动圆木多片锯_立式圆木多片锯价格_大型圆木多片锯厂家-邢台友创机械制造有限公司 | 轮转印刷机_商标印唛机_超声波切唛机_瑞安市明辉机械有限公司 | 凿岩机|操车设备|爬车机|三环链|伞钻|伞型钻机|中心回转抓岩机|往复式给煤机|滚轮罐耳|吊桶|钩头-济宁卓力工矿设备有限公司 | 南京样本设计,彩页制作,宣传册设计,画册设计印刷,包装设计公司,南京台历制作 |