1.用XMT发送报文,是不是将报文自动分解成字符,打包成字符帧按顺序挨个发送的?如果是,字符之间的间隔是怎样的?
2.SMB30中,奇偶校验是针对单个字符帧的校验,还是整个报文的校验?
3.SMB30中,字符数据位有8或7位,这个7位是用在什么地方?
4.SM87.1,break是什么?XMT完成报文发送就会自动产生break条件?
5.SMW90是空闲线时间设置。这个是接收报文检测空闲状态,还是发送报文时系统自动延时?
6.在发送报文和接收报文时需要占用CPU吗?系统块里面的背景通信时间设置是否对自由口通信效率有影响?
7.自由口通信是否在程序扫描结束之后,占用一段时间处理?如果是,这段时间大概能有多长?
最佳答案
1.用XMT发送报文,是不是将报文自动分解成字符,打包成字符帧按顺序挨个发送的?如果是,字符之间的间隔是怎样的?
如果选择RTU方式,是按照字节方式发送的,如果选择ASCII码方式,是按照字符方式发送的。发送时数据是连续、依次发送。
2.SMB30中,奇偶校验是针对单个字符帧的校验,还是整个报文的校验?
奇偶校验是对每个发送的字节或字符做的校验,是附加在每个字节或字符后的。
3.SMB30中,字符数据位有8或7位,这个7位是用在什么地方?
用RTU方式通讯时,也可以选择7位,只不过缺省为8位。如果用ASCII码方式通讯,缺省为7位。
4.SM87.1,break是什么?XMT完成报文发送就会自动产生break条件?
理论上每次发送请求时,如果用RTU方式时,两条请求间必须有3.5个字符的时间长度间隔。
5.SMW90是空闲线时间设置。这个是接收报文检测空闲状态,还是发送报文时系统自动延时?
接收报文
6.在发送报文和接收报文时需要占用CPU吗?系统块里面的背景通信时间设置是否对自由口通信效率有影响?
发送请求时会占用,接收响应并处理时会占用,但是影响很小。一般情况下发送和接收都有缓冲区,只需将数据移动到缓冲区即可,然后由通信自己处理。
7.自由口通信是否在程序扫描结束之后,占用一段时间处理?如果是,这段时间大概能有多长?
只有触发中断时才处理,处理时间很短,可以忽略。
提问者对于答案的评价:
谢谢大家的回答,现在逐一回复。
Dawn Dawn:已经利用查表法和公式法编写好了,甚至主从站程序都编好了(个人喜欢自己写的精简版),但是我的问题同CRC校验无关。
莘莘学子:感谢你的资料,很有用。
wb210xa:感谢你的回答,最接近我的意思。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc307057.html