回复:做Modbus TCP通信时,用SCL语言写好程序后,还要MB_Client指令吗?

已锁定

昔日如诗

  • 帖子

    826
  • 精华

    3
  • 被关注

    10

论坛等级:侠圣

注册时间:2018-04-17

钻石 钻石 如何晋级?

发布于 2023-10-18 10:37:18

1楼

下面是SCL程序,我觉得它只是流程,并不能通信呀。

难道是它的背景数据块里的MB_Client和TCON_IP_v4与外围设备进行Modbus TCP通信?

---------------------------------------------------------

CASE #statStep OF

    0:

        //如果连接成功,则跳转到步骤 1

        IF #instClient.Connected

        THEN

            #statStep := 1;

        END_IF;

    1:

        (*触发读命令,设置读参数

          设置 MB_UNIT_ID 为 1

          如果完成或错误则跳转到步骤 2

          如果 TCP 通信中断跳转到步骤 0*)

        #statReq := TRUE;

        #statMode := 0;

        #statAddr := 40001;

        #statLen := 2;

        #instClient.MB_Unit_ID := 1;

        IF #instClient.DONE

        THEN

            #statRead1 := #statPtr;

            #statReq := FALSE;

            #statStep := 2;

        END_IF;

        IF #instClient.ERROR

        THEN

            #statReq := FALSE;

            #statStep := 2;

        END_IF;

        IF NOT #instClient.Connected

        THEN

            #statStep := 0;

        END_IF;

    2:

        (*触发读命令,设置读参数

          设置 MB_UNIT_ID 为 2

          如果完成或错误则跳转到步骤 1

          如果 TCP 通信中断跳转到步骤 0*)

        #statReq := TRUE;

        #statMode := 0;

        #statAddr := 40001;

        #statLen := 2;

        #instClient.MB_Unit_ID := 2;

        IF #instClient.DONE

        THEN

            #statRead2 := #statPtr;

            #statReq := FALSE;

            #statStep := 1;

        END_IF;

        IF #instClient.ERROR

        THEN

            #statReq := FALSE;

            #statStep := 1;

        END_IF;

        IF NOT #instClient.Connected

        THEN

            #statStep := 0;

        END_IF;

    ELSE

        ;

END_CASE;

//通信指令

#instClient(REQ := #statReq,

            DISCONNECT := FALSE,

            MB_MODE := #statMode,

            MB_DATA_ADDR := #statAddr,

            MB_DATA_LEN := #statLen,

            MB_DATA_PTR := #statPtr,

            CONNECT := #statConn);


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15112条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。