當(dāng)前位置:機(jī)電之家首頁 >> PLC技術(shù)>> PLC基礎(chǔ) >> PLC程序 >> PLC程序故障排除的一個小經(jīng)驗(yàn)
PLC程序故障排除的一個小經(jīng)驗(yàn)

看到三菱論壇里有網(wǎng)友發(fā)貼求助<寄存器不能清零,求助 >,大意是數(shù)據(jù)寄器在使用一段時間后會出現(xiàn)不能清零現(xiàn)象。換地址也不可以。為此將程序上傳請求幫助。

我打開程序查找該數(shù)據(jù)寄存器地址,第一地址為計數(shù)器賦值,采用加一指令,程序指令如下:ANDD<   D62   K999999999    /      DINCP         D660

另一個清零指令  LD    T66   MOVP   K0    D660   /  RST   D660

 上面的程序來看,是看不出多少問題,后面的RTS指令我估計是樓主沒辦法的情況下加上去,但是就這樣也是不能清零。

我發(fā)現(xiàn)一個問題就是:前面加一信號用了32位,這說明數(shù)據(jù)很大,應(yīng)該是大于32767.而后面清零指令只用了16位。也就是說清零只能清除16以下,大于32767的數(shù)據(jù)將不能清零。

為了證實(shí)我的想法。進(jìn)行模擬仿真。將D660賦值大于32767.為了調(diào)方便,做了一點(diǎn)小更改:LDP  X0    DMOV    K45000   D660   /   LD   X1   MOVP   K0   D660

按上述程序調(diào)試并清零,當(dāng)數(shù)據(jù)小于32767以下,也就是16位數(shù)據(jù)位程序能清零,當(dāng)把45000傳進(jìn)去以后,程序不能清零,且數(shù)據(jù)變?yōu)樨?fù)值。這就證實(shí)我了是論證,于是將清零程序改寫為32位  LD  X1     DMOVP   K0  D660

再進(jìn)行清零動作,OK

在程序編寫的時候,一定要注意32位和16位的區(qū)別,當(dāng)賦值大于32位時,清零同樣也要用32.否則只能清除16位以下數(shù)據(jù)。

作者:未知 點(diǎn)擊:704次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:PLC程序故障排除的一個小經(jīng)驗(yàn)
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《PLC程序故障排除的一個小經(jīng)驗(yàn)》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

楊異乾 【求購】  電涌保護(hù)器  2025-11-28
趙焱 【求購】  電氣溫控閥  2025-11-28
張揚(yáng)瓊 【求購】  ABB火檢...  2025-11-27
張雪根 【求購】  固體除垢劑  2025-11-26
趙經(jīng)理 【求購】  變壓器  2025-11-26
羅經(jīng)理 【求購】  巡邏車跟蹤...  2025-11-26
趙經(jīng)理 【求購】  柴油發(fā)電機(jī)  2025-11-26
沈雙 【求購】  柴油過濾紙  2025-11-26
VIP公司推薦