字符格式对通讯有影响吗?

用S7200自由口modbusRtu通讯,s7200PLC主站、智能模块从站。
 modbusRtu协议数据格式 1位起始位+8位数据位+1位校验位(如无奇偶校验该位位停止位)+1位停止位,即11位格式。西门子200PLC数据格式为 1位起始位+8位数据位+1位校验位或无+1位停止位。
 如果s7200采用无奇偶校验,那么到底是11位还是10位格式。数据格式不一样,对通讯是否有影响。
 请大家帮我解答一下,谢谢。

问题补充:
LaoHuai – 助理工程师  第8级:你好!
 请教一下s7200字符数据格式的问题。因为Modbus Rtu标准协议中当采用无校验方式时,其字符格式中的校验位自动变为停止位。即“1位起始位+8位数据位+1位奇偶校验位+1位停止位”变化为“1位起始位+8位数据位+1位停止位+1位停止位”。我不清楚s7200中的字符数据格式是否也有这种转换。那么当s7200采用无校验时,其数据格式是“1位起始位+8位数据位+1位停止位+1位停止位”还是“1位起始位+8位数据位+1位停止位”?
 那么当s7200采用无校验时,如果其字符格式为:“1位起始位+8位数据位+1位停止位”是否意味着下面的内容。
 1.当S7200 PLC做主站使用自由口Modbus Rtu标准协议通讯时,如果采用11位数据格式,那么必须要求第三方设备改变为只有1位的数据格式么?
 2.当如果S7200 PLC做从站时,那不是就没有办法与有两位停止位的标准Modbus Rtu标准协议通讯?
 3.主从双方都同时使用奇校验或者偶校验方式,使得数据位都成为11位?
 请答复一下,谢谢。
 

最佳答案

关于字符中断的例子已经发给你了。

 
 1 通讯双方的字符格式必须一致!相同的起始位,相同的数据位,相同的停止位,这是必须的。
  2 200PLC通讯字符的停止位是1位的,这是硬件决定的,没法改变
  但是在论坛里,他们好像讨论过怎么和2位停止位的设备通讯的问题,你可以找找。
  3 在通信开始之前,收发双方要把所采用的信息格式和数据传输速率作统一的规定。通信时,发送方把要发送的代码数据拼装成以起始位开始,停止为结束,代码数据的低位在前,高位在后的串行字符信息格式进行发送。在每个串行字符之间允许有不定长的空闲位,一直到要发送的代码数据结束。
  起始位为“0”,作为联络信号,通知接受方开始接受数据,停止位“1”和空闲位“1”告诉接受方一个串行字符传送完毕。通信开始后,接受方不断的检测传输线,查看是否有起始位的到来。当收到一系列的“1”(空闲位或停止位)之后,检测到一个“0”时,说明起始位开始,开始接受所规定的数据位和奇偶校验位及停止位。经过校验处理后,把接受到的代码数据位部分拼装成一个代码数据。一个串行字符接受完成后,接受方又继续检测传输线,监视“0”的到来和开始接受下一个串行字符。
  异步串行通信是按字符传输的,发送方每发送一个字符,就用起始位通知对方,以此来重新核对收发双方的同步。

  4 在用异步通信方式进行通信时,发送端需要用时钟来决定每一位对应的时间长度,接受端需要用一个时钟来测定每一位的时间长度,前一个时钟叫发送时钟,后一个叫接受时钟,这两个时钟的频率可以是位传输率的16倍,32倍,64倍。,这个倍数称为波特率因子,而位传输率称为波特率。波特率的定义为每秒传送二进制数码的位数。单位为bps,即位/秒。波特率越高,数据传输越快,但和字符的实际传输速率不同。字符的传输速率是指每秒所传输的字符桢的桢数,和字符桢格式有关。如波特率为1200bps的通信系统,若字符桢为11位(起始位1,数据位8,奇偶校验1,停止1),则字符的实际传输速率为1200/11=109.09桢/秒。每位的传输时间定义为波特率的倒数,如波特率为9600bps的通信系统,每位的传输时间为1/9600=0.104ms。

  5 若波特率因子为16,当通信时,接受端在检测到电平由高到底变化以后,便开始记数(记数时钟为接受时钟),当记到第8个时钟以后,就对输入信号进行采样,如仍为低电平,则确认为起始信号,而不是干扰信号。此后每16个时钟脉冲对输入进行一次采样,直到各个信息位和停止位输入以后。
    
 

提问者对于答案的评价:
看来还要补一下计算机硬件基础。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc353723.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

  • 关于PLC扫描计数器CTU顺序

    请问如图Q1.0能否输出1 问题补充:抱歉啊各位,忘记上传了 图片说明:    最佳答案 这个问题你是如何判断?首先看程序,一段是计数器计数,当I0.1接通3次…

    2021年7月5日
  • 请教利用200PLC发送短信的问题

    就是类似报警时利用GSM模块发送短信,我在网上找到的例子都是利用TC35模块,但是我手边只有SIM100E模块,请问200PLC可以和这种模块通信吗??程序需要改动吗? 问题补充:…

    SIMATIC S7-200 2020年10月31日
  • S7-200CPU224高速计数器取样问题?

    我的S7-200CPU220XP!当前值HC0用于高数计算物体长度!!hc0不能清零!!我用两个定时中断程序取样HC0值,第一个中断MOVDW HCO &nbs…

    SIMATIC S7-200 2021年7月4日
  • iot2000通过node-red连接到IBM云平台的问题

    问题如图,一直显示disconnected,就连最简单的快速开始模式也不行,问题到底何在。甚至我曾经都连接成功过,后来因为要装iot2000 user led,…

    SIMATIC S7-200 2021年7月5日
  • 编程的算法和思路请大家指教

    编程的算法和思路请大家指教~~~急 最佳答案 编程的算法是要了解加减乘除,数学基础。编程的思路是要跟着工艺需求靠编写。总结:你先把S7-200系统手册从头到尾看三遍再说。把S7-2…

    SIMATIC S7-200 2020年11月1日
  • s7-200在线监控时,发生的问题

    用编程电缆在线监控S7-200 CPU214 ,6ES7 214-1BD23-OXB8时,报“由于PLC正在上载/下载,处于致命错误状态或缺失硬件而无…

    SIMATIC S7-200 2020年10月31日
  • 200cpu的Prodave通讯问题

    在计算机上通过Prodave函数访问226CPU中的数据,请问在计算机与CPU之间可以使用什么通讯方式?可以使用CP5611通讯卡在计算机与CPU之间通过MPI或DP通讯方式吗? …

    SIMATIC S7-200 2021年7月4日
  • 求TP170B和200的实例

    现有触摸屏TP170B一块,200一个,我需要一份实例,包括触摸屏的制作(具体到画面怎么做),200那边怎么写对应的通讯程序。给一个小程序吧,越详细越好。如果谁有这样的例子,请发到…

    SIMATIC S7-200 2020年11月5日
  • S7-200用三菱PLC代替的可行性——

    厂里一个S7-200被撞坏了,24点输入,16点输出,想用三菱PLC代替,也是24输入,16输出。请问可行性多大?除了程序适当改变些之外,还有哪些需要注意的地方呢?谢谢。 问题补充…

    SIMATIC S7-200 2021年7月5日
  • 关于PTO的控制字节

    PTO中SMB67  1.SM67.0  PTO/PWM更新周期值:0,不更新; 1,更新。什么是更新周期值?代表什么?&nbsp…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论