wangk0
人都有點(diǎn)過去~
級(jí)別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 82 個(gè)
工控威望: 2155 點(diǎn)
下載積分: 3866 分
在線時(shí)間: 64(小時(shí))
注冊(cè)時(shí)間: 2012-05-17
最后登錄: 2024-04-11
查看wangk0的 主題 / 回貼
樓主  發(fā)表于: 2012-12-03 22:51
問題背景:PLC跟打印機(jī)用485通訊的,要打印的東西太多,要設(shè)置一個(gè)格式,打印一段文字,設(shè)置一個(gè)格式,打印一段文字。無論打印文字還是設(shè)置打印格式,都是通過發(fā)送十六進(jìn)制的數(shù)字實(shí)現(xiàn)的,F(xiàn)在我做成一個(gè)包后,要加一個(gè)內(nèi)容或者改個(gè)打印格式,從修改處往后的包都要重寫,比較麻煩。發(fā)送是不接收數(shù)據(jù)的。

目標(biāo):現(xiàn)在我想把一個(gè)包分成幾個(gè)包來發(fā)送,一個(gè)包發(fā)完自動(dòng)發(fā)下一個(gè)包,這樣,改的內(nèi)容會(huì)相對(duì)少很多,而且不需要一個(gè)很大的連續(xù)的空白數(shù)據(jù)區(qū)來做發(fā)送用。

嘗試:用第一個(gè)包的M8122下降沿觸發(fā)一個(gè)輔助繼電器點(diǎn),再用輔助繼電器點(diǎn)發(fā)送下一個(gè)包。結(jié)果是只能發(fā)第一個(gè)包。

拜謝各路大俠給點(diǎn)點(diǎn)子,讓我多試試。

今天還是用的這個(gè)方法試的,用電腦可以,通訊設(shè)置為9600,8位數(shù)據(jù)位,1位停止位,無校驗(yàn)。能夠發(fā)兩個(gè)包了,上傳程序和結(jié)果。
程序圖:
1

2

連電腦看的結(jié)果:
結(jié)果

程序附件:
485 test.rar (153 K) 下载次数:21     
[ 此帖被wangk0在2012-12-05 12:01重新編輯 ]
wow588
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 179 個(gè)
工控威望: 317 點(diǎn)
下載積分: 2862 分
在線時(shí)間: 152(小時(shí))
注冊(cè)時(shí)間: 2012-02-11
最后登錄: 2024-09-21
查看wow588的 主題 / 回貼
1樓  發(fā)表于: 2012-12-04 12:03
要不用循環(huán)程序試試