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

用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日

相关推荐

  • 求西门子200PLC控制安川伺服的案例

    西门子200PLC控制安川伺服,伺服原位在设备中间位置,左方向移动一定距离再返回原点或者右方向移动一定距离,再返回原点。如何控制?刚搞西门子的PLC,请大家多多指点。 最佳答案 可…

    SIMATIC S7-200 2020年10月31日
  • TD400C如何实现显示历史故障

    我想通过一段程序,将发生过的故障信息存储在PLC中,然后通过TD400C可以查询。可是,我试过很多次,都存不上,也显示不了。求各位高手指点一下! 问题补充:您能不能再说的详细点,或…

    SIMATIC S7-200 2021年7月5日
  • 关于smart-700IE连接S7-226的问题

    没用过触摸屏,而且对西门子不熟悉,现在打算买一个smart-700来连接S7-200的226,port0已经用于连接无线DTU做modbusRTU从站接口了,我看smart700I…

    SIMATIC S7-200 2017年8月18日
  • TD400控制显示

    PLC能否象TD200一样通过PLC控制显示,请教高手,谢谢 最佳答案 可以,在报警界面里做 提问者对于答案的评价:可以做,找到键位标示和使能位标示即可。

    SIMATIC S7-200 2021年7月5日
  • 请教一段测电机绕组温度的PLC程序

    图1为一段测电机绕组温度的PLC程序。测量绕组的传感器为PT100,用到了RTD输入模块。看了这段程序,我有些疑惑或者说是不太确定的地方,恳请大家指教!1,因为传感器是PT100,…

    2020年10月31日
  • EM231 CN的4路模拟量输入模块(231-0HC22-0XA8)问题

    EM231 CN的4路模拟量输入模块(231-0HC22-0XA8)电流输入时模块右下方拨码开关怎么设置 最佳答案 EM231 DIP开关设置单极性 …

    SIMATIC S7-200 2020年10月31日
  • S7-200PLC找不到扩展的EM231RTD热电阻模块

    本人用CPU226PLC扩展一个EM231RTD热电阻模块,可是通过查PLC信息,无法查到该模块? 问题补充:模块连接后,SF灯亮,24V亮一下就灭掉了,各种接线均检查正常. 最佳…

    SIMATIC S7-200 2020年11月1日
  • 西门子S7200 cpu224系列

    请教:s7200cn cpu224的脉冲输出频率最高多少?手册上写的20KHz,可我感觉比这还大。还有HSC功能12模式记内部脉冲最高能识别多高频率? 最佳答案 224x…

    SIMATIC S7-200 2021年7月5日
  • 位置控制向导生成子程序如何使用

    哪里有讲解s7-200位置控制向导生成子程序如何使用的视频 问题补充:我没有说明白,是如何使用创建的子程序的教学视频,就像二楼给的那样的视频 最佳答案 楼上说的视频中,没有位置控制…

    SIMATIC S7-200 2020年11月1日
  • 如何编写脉冲输出程序

    我有两个变频器,一个西门子S7-200的PLC,我想用脉冲的方法来控制变频器.但是我不知道怎么让PLC按我的要求,给变频器发脉冲. 最佳答案 ld sm0.1 …

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论