電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> plc工業軟件使用 >> 正文

西門子PLC功能和功能塊的區別

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2019/6/1
西門子plc的FB和FC均為用戶編寫的子程序,局部數據均有IN、OUT、IN_OUT、TEMP,臨時變量TEMP儲存在局部數據堆棧中。
1)FC的返回值RET_VAL實際上輸出參數,因此有無動態變量(STAT)是二者的局部變量的本質區別,功能塊的靜態變量用北京數據塊來保存,如果功能有執行完后需要保存的數據,只能存放在全局變量(I/O、PI/PO、M、T、共享數據塊DB中),但是這樣會影響功能的可移植性,如果功能或功能塊的內部不使用全局變量,只使用局部變量,不需要做任何修改,就可以將塊移植到其他項目,如果塊使用了全局變量,在移植時需要重新統一分配它們的內部使用的全局變量地址,以保證不會出現地址沖突,當程序復雜,子程序和中斷程序很多時,這種重新分配全局變量地址的工作量非常大,也容易出錯。如果邏輯塊有執行完成需要保存的數據,顯然應使用功能塊,而不是功能。
2)功能塊的輸出參數不僅與來自外部的輸入參數有關,還與用靜態變量保存的內部狀態數據有關,功能因為沒有靜態變量,相同的輸入參數產生的執行結果是相同。
3)功能塊有背景數據塊DB,功能沒有背景數據塊,只能在功能內部訪問功能的局部變量,其他邏輯塊與人機界面可以訪問相應背景數據塊中的變量。
4)不能給功能的局部比啊娘設置初始值,可以給功能塊的局部變量(不包含TEMP)設置初始值,在調用功能塊時如果沒有設置某些輸入參數的實參,將使用背景數據塊中的初始值,或上一次執行后的值,調用功能時應給所有的形參指定實參。
舉例說明:
1、生成功能
打開SIMATIC管理器執行【插入】-【S7塊】-【功能】如下圖所示


2、生成局部數據
雙擊打開FC1,如下圖,將分隔條向下拉,分隔條上面是功能的變量聲明表,下面為程序編寫區,


在變量聲明表中定義局部變量,(局部變量只能在所在的功能中使用),
1)IN:由調用它的塊提供的輸入參數
2)OUT:返回給調用它的塊的輸出參數
3)IN_OUT:初值由調用它的塊提供,塊執行后返回給調用它的塊。
4)TEMP:暫時保存在局部數據堆棧中的數據,只是在執行塊時使用臨時數據,執行完后,不再保存臨時數據的數值,它可能被別的數據覆蓋。
5)RETURN中的RET_VAL屬于輸出參數。
本例IN和OUT參數如下圖


3、生成功能中的程序


STEP7自動在局部變量的前面加#號,如#start。
4、調用功能
在OB1導入FC1,如下圖


啟動仿真如下:

Tags:西門子plc,功能塊  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
最新推薦
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
亚洲欧美日韩在线观看播放| 久久国产精品61947| 最近中文字幕高清字幕在线视频| 亚洲精品亚洲人成在线| 91视频一区二区三区| 国产精自产拍久久久久久蜜| 97精品久久天干天天蜜| 夜夜影院未满十八勿进| 中文字幕高清在线| 成人免费男女视频网站慢动作| 久久精品免费一区二区三区| 日日摸日日碰夜夜爽97纠| 久久久久久九九精品久小说| 思思91精品国产综合在线| 久久亚洲AV成人无码| 成人怡红院视频在线观看| 七月婷婷精品视频在线观看| 成年女人色费视频免费| 中文字幕在线免费视频| 天天摸天天做天天爽| 丁香花免费高清视频完整版| 夜夜影院未满十八勿进| 91青青青国产在观免费影视| 国产激爽大片高清在线观看| 被农民工玩酥了的张小婷| 国产午夜激无码av毛片| 精品欧美日韩一区二区三区| 六月丁香激情综合成人| 热re久久精品国产99热| 亚洲精品456在线播放| 最近免费中文字幕完整7| 久久精品国产亚洲7777| 性满足久久久久久久久| mm131嫩王语纯翘臀| 国产精品国产三级国产普通话a| 韩国18videos极品| 四虎影在线永久免费四虎地址8848aa | 亚洲熟妇无码爱v在线观看| 最近中文字幕高清2019中文字幕 | 久久精品噜噜噜成人av| 成人免费一区二区三区|