为了能搞明白自由口通讯的原理,我把帮助里面的自由口通讯的示例程序抄写了下来,并且将所有有关P0口的设置更改为P1口的设置程序内容如下:
MAIN
LD First_Scan_On
MOVB 2#1001, P1_Config
MOVB 2#10110000, P1_Ctrl_Rcv
MOVB 2#1010, P1_End_Char
MOVW +5, P1_Idle_Time
MOVB 100, P1_Max_Char
ATCH INT_0, 23
ATCH INT_2, 9
ENI
RCV VB100, 1
INT_0
LDB= P1_Stat_Rcv, 2#100000
MOVB 10, Time_1_Intrvl
ATCH INT_1, 10
CRETI
NOT
RCV VB100, 1
INT_1
LD Always_On
DTCH 10
XMT VB100, 1
INT_2
LD Always_On
RCV VB100, 1
有关PLC的组态和实际情况是一致的。
在测试过程中,我发现,这个程序并不能像帮助里面所说的那样接收到换行符号以后就把内容转发回来,而且这个程序还存在只能在刚下载完程序之后可以接收PC机发给他的数据。请各位前辈指点!~~
最佳答案
主程序中断绑定不对,端口1 的中断分别是 24 和26;INT0 中,定时中断1 的事件号也不对,应该为11;INT1 中事件端口号也得改为11。
整个流程如下:PLC 启动时开始接收,如果接收成功,等待10ms ,然后发送接收到的报文,发送成功后再使能接收,,。。。。。。轮询下去。
提问者对于答案的评价:
虽然晚了点,但是还是很感谢您的回答!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc159028.html