自己写的IO口模拟串口,把数据格式改为7,2,E。单片机能与PC机进行通信,PLC也能与PC机通信,最后单片机与PLC通信不上。
STC的单片机,欧姆龙的单片机,单片机的发送程序为
void WByte1(unsigned char input1) //(7,2,E)
{
unsigned char i = 7;
timer_start(0); //打开定时器0
P01 = 0;
WaitTF0(); //等过一个起始位
while(i--)
{
P01 = input1 & 0x01;
input1 = input1 >> 1;
WaitTF0();
if(gpio_in(D01) == 1)
{
put1 = put1 + 1;
}
}
P01 = Seven(put1); //偶效验位
WaitTF0(); //等过一个效验位
P01 = 1; //结束位
WaitTF0(); //等过一个结束位
P01 = 1; //第二个结束位
WaitTF0(); //等过第二个结束位
timer_stop(0); //关闭定时器0
}
通过HOSTLINK指令 与PLC通信。就是问答模式,不需要管PLC内部的梯形图怎么画的。
通过指令问我想知道的信息,PLC就会自动回复