<object id="ir2le"></object>
  • 加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15267534595
    公司新聞
    怎樣將S7-300/400的庫移植到S7-1500
    發布時間: 2024-03-21 21:04 更新時間: 2024-12-26 09:10
    STEP7項目移植方法

    在STEP7中有項目和庫的區分,這個庫與TIA博途的相比非常簡單,只包含程序塊,庫中的程序塊中包括DB、FC、FB以及SFC和SFB。怎么移植S7-300/400的庫到TIA博途中并可供S7-1500使用呢?我們先看一下STEP7項目的移植過程。在不包含硬件的情況下,移植的過程如下:

    【一】對原有STEP7項目進行一致性檢查,更正程序中不一致的塊,例如調用FC后,再次修改FC的接口參數,這樣將造成程序不一致,導致時間沖突。操作如下圖所示:

    圖片

    【二】平臺的移植。就是從STEP7移植到TIA博途平臺。在TIA博途中點擊“項目移植”選項后,再選擇STEP7源項目打開就可以了。如圖2所示。這個過程程序不會發生任何變化,但是TIA博途平臺在打開的時候,后臺也在打開STEP7并對項目進行編譯,看看是否缺少相應的軟件。TIA博途平臺對程序的架構和數據類型的檢測非常嚴格,平臺移植非常簡單,但是保證編譯無錯不簡單,通常都是上百個錯誤,主要是源程序編寫不嚴謹。如下圖所示:

    圖片

    【三】將TIA博途中的S7-300/400程序移植到S7-1500,如圖3所示。移植后替換S7-300/400程序中使用的SFC和SFB,因為系統發生變化,系統程序塊不一定完全匹配。

    圖片

    STEP7庫移植方法

    上面說了STEP7項目移植過程。如果是一個STEP7的庫應該怎么移植呢?我們先看一個實例。【一】使用STEP7解壓縮打開后,庫中包含若干個程序塊文件夾,如圖下圖所示:

    圖片

    【二】每一個程序塊文件夾就相當于項目中的站,大家這里需要注意,庫文件只能在“Libraries”標簽中打開,如圖下圖所示:

    圖片

    【三】庫文件的存儲文件后綴是*.S7L,而項目文件是*.S7P,如下圖所示:

    圖片

    【四】TIA博途只能移植項目文件即*.S7P文件,所以必須將庫文件轉化為項目文件。在STEP7 中創建一個項目,將庫文件一個一個地復制到項目中,這樣庫中所有的程序塊就包含在一個項目中,然后就可以對該項目進行移植了。注意:源程序是SCL編寫的,所以在STEP7中還需要安裝SCL。如果沒有SCL的源文件,使用TIA 博途打開后,程序塊可能將加鎖保護,這樣就不能移植到S7-1500了。這里可能還需要在STEP7中將程序塊中的代碼復制過來并放到STL創建的程序塊中,然后再執行平臺的移植。

    【五】后續的過程就是前面介紹的移植3步了,希望第二部編譯沒有問題,但是概率比較小。其實大部分問題就是數據類型的不匹配。在S7-300/400中使用STL編程從來不需要考慮數據類型的匹配問題,這可能就是問題的根源。但是在S7-1500中增強了數據類型的安全性,所以檢查嚴格了,原來這樣的編程不允許了。參考下圖數據類型不匹配的問題。

    圖片

    (1)錯誤描述為:“運算符“*” 與“DInt” 和“Real” 的數據類型不兼容。”程序中TIME_TO_DINT(#t)將“t”轉化為DINT類型,而“M”是Real類型,這兩個類型不能相乘。再看前面是REAL_TO_DINT,所以需要將“t”Zui終轉換為Real類型,更改的程序如圖8所示,感覺一直再轉換。

    圖片

    (2)還有一類錯誤是程序框架錯誤,如下圖所示:

    圖片

    (3)明明返回值“OVERRIDE”賦值了,怎么報無返回值呢?查看程序發現,返回值的賦值都是有條件的,如果條件都不成立怎么辦?可能是一個隨機值。再前面加一個初始化就可以了,下圖所示:

    圖片

    【六】程序移植成功后,在項目樹下是一個一個的S7-1500 的PLC站點。需要將站點中的程序塊存放到TIA博途的庫中。例如在TIA博途中創建新的庫,按照原庫中的格式創建文件夾,然后將移植的程序塊復制到相應的文件夾中,如下圖所示。這樣S7-300/400的庫移植到S7-1500庫的工作就完成了。

    圖片


    聯系方式

    • 電  話:18126392341
    • 聯系人:梁濤
    • 手  機:15267534595
    • 微  信:15267534595