有人遇到了一個很有趣的問題。
在初始化組織塊ob100中設(shè)置mw20的初始值為10。用mw20作s7計數(shù)器的預(yù)設(shè)值pv。計數(shù)器得到第一個計數(shù)脈沖時,系統(tǒng)錯誤sf燈亮,cpu停機。
cpu停機的原因如下:
計數(shù)器的預(yù)設(shè)值pv為bcd碼,計數(shù)器得到第一個計數(shù)脈沖時,首先將ob100中設(shè)置的mw20的初值10轉(zhuǎn)換為bcd碼,10對應(yīng)的16進制數(shù)為16#a,不是bcd碼,所以出現(xiàn)編程錯誤。
出錯后在模塊信息的診斷緩沖區(qū)中可以看到“bcd轉(zhuǎn)換錯誤”。
將ob100中的10改為c#10就ok了。