作者 | 主题 |
---|---|
阿修加油 游士 ![]() ![]() 经验值:260 发帖数:11 精华帖:1 |
楼主
![]() 主题:s7200 plc扫描周期中的通讯时间用来处理通讯。 那么在其他时间就不能接收发送数据吗? 1、那在别的时间其他设备发来的数据是不是就丢失了,还是说暂存在通讯模块里,等通讯时间一起处理。 2、还有我在这段时间内接收数据没接收完怎么办,是不是下个周期继续接收? 3、如果只接收了一半的通讯的数据,这个一半的数据是不是立即就可以在这个周期用了,还是说全部接收完才能用这些数据? |
yming 至圣 ![]() 经验值:129524 发帖数:22219 精华帖:837 |
4楼
![]() ![]() 串行通讯都是异步的。这包括: RS232、RS485以及以太网通讯。 最小长度,一个字节。收发芯片完成后(起始位+数据字节+(校验位)+停止位),放入指定缓冲区。 有的缓冲区满了,主机一次读取;有的指定长度;主机未读取之前,会告诉对方暂停发送。 至于数据的正确性,有校验位、校验字节,也有通过回显(每一字节,按照接收原样发给发送方。)检查;有错,会重发。 这些都是由硬件协议确定的。不用你操心。 你规定了报文长度,它有校验字节。没有接收完整的数据,不能用!你不知道正确与否!
学而时习之,不亦说乎?温故而知新,不亦乐乎?
|