為什么不能以FBD或者LAD格式顯示STL程序?

發(fā)布時(shí)間:2024-01-09
下表說(shuō)明了為什么不能以 fbd 或 lad 格式顯示 stl 程序的一些原因。雖然可以在 lad/stl/fbd 編輯器中將視圖設(shè)置為“fbd”或“l(fā)ad ”,但是程序代碼仍然完全以“stl”方 式顯示,或者部分程序段仍然以“stl”方式顯示。
序號(hào) 原因和補(bǔ)救措施
1 在一個(gè)程序段中編寫(xiě)了多個(gè)賦值
在 fbd 或 lad 中支持顯示使用 stl 語(yǔ)言編寫(xiě)的 step 7 程序。但是,在編寫(xiě)了 stl 程序之后,無(wú)法切換到 fbd 或 lad。 造成此問(wèn)題的一個(gè)原因可能是,在“s”或“r”賦值之后,又有一個(gè)新的賦值指令。 在 fbd 和 lad 中,對(duì)于在每個(gè)“s”或“r”賦值之后會(huì)有新的程序段,因?yàn)橐粋€(gè)程序段中只允許出現(xiàn)一個(gè)這樣的賦值操作。 在 stl 中,可以編制具有任意長(zhǎng)度和多個(gè)賦值的程序代碼。圖 01 給出了一個(gè) stl 程序,在該程序中,在賦值語(yǔ)句“s m1.1”之 后接著便是下一個(gè)子程序(指令“u e1.3”)。這樣便無(wú)法從 stl 轉(zhuǎn)換成 fbd 或 lad。
圖01 補(bǔ)救措施
將 stl 程序分成相關(guān)的幾個(gè)程序段,這樣在每個(gè)賦值 (“s”、“r”) 之后重新起始一個(gè)新程序段。如果賦值“u e1.3”之后的程序代碼是在第二個(gè)程序段中,如圖 02 中所示,則便可以從 stl 轉(zhuǎn)換成 fbd 或 lad。
圖02 另外可能的原因是在完成一系列的指令過(guò)程中,這些指令并不滿足結(jié)構(gòu)上的要求。在 stl 語(yǔ)言中對(duì)程序代碼的編寫(xiě)要比其它語(yǔ)言自由得多。
圖03 補(bǔ)救措施
使用結(jié)構(gòu)化的順序和括號(hào)來(lái)編寫(xiě)多條指令。
圖04
2 在 stl 視圖中插入了臨時(shí)變量
當(dāng)使用 lad/fbd 語(yǔ)言編制程序時(shí),編譯器在某些結(jié)構(gòu)中創(chuàng)建內(nèi)部本地?cái)?shù)據(jù),如圖 05 所示。
圖05 如果在 stl 視圖的 temp 變量區(qū)中聲明了一個(gè)變量,便會(huì)與程序中的絕對(duì)地址訪問(wèn)的本地?cái)?shù)據(jù)相沖突。然后便會(huì)給出下列錯(cuò)誤消息:
圖06 然后,編譯器創(chuàng)建的本地?cái)?shù)據(jù)便會(huì)變成用戶(hù)本地?cái)?shù)據(jù),這樣便無(wú)法再切換到 lad/fbd 視圖。 補(bǔ)救措施
在使用lad/fbd 語(yǔ)言時(shí),應(yīng)該始終在 lad/fbd 視圖中聲明本地?cái)?shù)據(jù)變量。這樣,當(dāng)聲明新的本地?cái)?shù)據(jù)時(shí),內(nèi)部編譯器會(huì)更改自己使用的本地?cái)?shù)據(jù)地址。
3 地址類(lèi)型檢查
已經(jīng)在 step 7 v5.0 中以功能塊圖 (fbd) 或梯形圖 (lad) 形式創(chuàng)建的程序段,在轉(zhuǎn)換成 step 7 v5.1 (或更高版本) 時(shí),程序段不能再以 fbd 或 lad 格式顯示,而只能以 stl 顯示。 對(duì)于 v5.1 及更高版本的 step 7,會(huì)對(duì)顯示類(lèi)型“fbd”和“l(fā)ad”進(jìn)行參數(shù)檢查,這樣如果存在不一致的參數(shù)聲明,則會(huì)阻止程序段 以 fbd/lad 的格式顯示。在 stl 中并沒(méi)有參數(shù)檢查,所以可以顯示。 舉例
在 step 7 v5.0 中,編制一個(gè)比較運(yùn)算程序,用于檢查兩個(gè)地址之間的差異。通過(guò)使用語(yǔ)句“<>i”,該運(yùn)算基于整數(shù)數(shù)據(jù)類(lèi)型 (整數(shù) :帶符號(hào)的 2 字節(jié)數(shù)據(jù))。為兩個(gè)地址分配參數(shù)類(lèi)型 word 是錯(cuò)誤的 (字:2 字節(jié)數(shù)據(jù)) 。其結(jié)果是,在 v5.0 中,可以在 fbd/lad 中顯示。但是,從版本 v5.1 開(kāi)始,就只能在 stl 中顯示相關(guān)的程序段了?,F(xiàn)在將被比較參數(shù)的數(shù)據(jù)類(lèi)型從字改成整數(shù),然后便可以再次在更高版本的 fbd/lad 中顯示程序段了。 注意 作為補(bǔ)救措施,也可以在 lad/fbd 編輯器的“l(fā)ad/fbd”標(biāo)簽中的“options > customize”下關(guān)閉類(lèi)型檢查。在切換 之后,開(kāi)始時(shí)沒(méi)有激活類(lèi)型檢查。只有在刪除了相關(guān)的數(shù)據(jù),然后又重新輸入它之后,類(lèi)型檢查才激活。 但是更好的方式是修正數(shù)據(jù)類(lèi)型,因?yàn)閿?shù)據(jù)類(lèi)型檢查是用于避免編程錯(cuò)誤的。 塊調(diào)用的類(lèi)型檢查是始終激活的,不能關(guān)閉。
圖07
4 丟失 nop 語(yǔ)句
只有在 stl 語(yǔ)句為相關(guān) lad/fbd 元件提供了完整的參數(shù),并且保持了規(guī)定的順序時(shí),才能將編程語(yǔ)言從 stl 切換成 lad/fbd。在 stl 中未使用的參數(shù)將被設(shè)置為 nop 0 (空操作,位組合是 16 個(gè)“0”)。圖 08 給出了一個(gè)接通延遲的示例程序。
圖08 如果沒(méi)有 nop 0 語(yǔ)句,則將無(wú)法在 fbd 或 lad 中顯示。
上一個(gè):黃花槐的快速養(yǎng)殖技術(shù)|黃花槐的養(yǎng)殖方法
下一個(gè):電腦cpu性?xún)r(jià)比排行榜2023,電腦cpu牌子哪個(gè)性?xún)r(jià)比好啊

桔梗栽培技術(shù)
菊花病毒病
vivox6plus怎么設(shè)置日歷,vivo手機(jī)界面日歷怎么設(shè)置
園林植物月季細(xì)菌慢腫癌病的防治
CR1206F42R94G 麗智電阻1206 2.94Ω ±1%
地下室大體積混凝土施工質(zhì)量控制
基于RFID的學(xué)生考勤系統(tǒng)設(shè)計(jì)
數(shù)據(jù)存儲(chǔ)方案包括,企業(yè)數(shù)據(jù)存儲(chǔ)方案
蘑菇ROM助手(蘑菇rom助手官網(wǎng))
norgren電磁閥的性能特點(diǎn)及選型要點(diǎn)
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos