15221406036
西门子6ES7332-5HB01-0AB0参数详细
报价: 面议
最小起订: 1
有效期至: 长期有效
发布时间: 2023-07-12 00:59
发布IP: 116.224.103.5
浏览次数: 159
手机号: 15221406036
电话: 15221406036
在线咨询: 点击这里给我发消息
15221406036
详细信息

西门子6ES7332-5HB01-0AB0参数详细

上位机通信软件设计方案

    上位机的通信软件采用VB6.0的开发环境。在VB6.0中对串口进行编程可以使用Mscomm控件加快开发进度。该控件主要是为RS-232的通用串口而设计。所以为了利用PC上现有的RS-232接口,通常是使用RS232/485的转换器。这些转换器一般通过逻辑门电路控制RXD、TXD和GND三针信号,从而自动对半双工或全双工的485串口进行控制。通过转换器,我们就可以像开发通用的RS-232串口一样来快速开发基于RS-485串口的上位机通信软件。

(1)初始化程序设计
    在初始化程序中,主要是设定好整个帧结构的命令数组、传输波特率、以及一些必须的串口初始设定。具体的操作如下面代码说明
Dim Tcommand(7) As Byte      ‘开辟命令帧的帧长度数组
MSComm.CommPort = 1        ‘设定需要使用的串口,当然这里可以用输入方式灵活设定。暂定为1#口
MSComm.Settings="2400,n,8,1"  ‘设定传输的波特率和校验方式
MSComm.InBufferSize = 1024     ‘开辟数据缓冲区
MSComm.bbbbbMode =combbbbbModeBinary    ‘设定为二进制的数据流方式
MSComm.bbbbbLen = 0                      ‘一次全部读入所需要的数据
……
   上面的代码一般都是串口初始化必须进行设定的几个部分。根据个人需要可以在VB6.0中做一个初始化界面,对各个参数(如波特率、使用串口等)进行自由设定和更改,以提高初始化设定的灵活性和通用性。

(2)命令字发送
     命令字发送应该严格按照Modbus规约所设计的帧格式和上下位机在该规约基础上所定义的通信协议。参考表1的通信协议顺序,编写如下的VB代码来实现命令的发送。
Tcommand (0) = address               ‘  address为设定的接受地址输入的变量
Tcommand (1) = Val("&h" + "03")
……(其他的通信协议,并计算CRC校验代码)
Tcommand (6) = CRC(1)
Tcommand (7) = CRC(0)
frmcontrol.MSComm.Output = Tcommand
……

(3)上位机接收和数据处理
     根据表2的回送通信协议,上位机解析所接受的数据,并进行必要的处理。一般而言从下位机发送上来的数据都是有一定的帧长度。特别是对于一些固化好的智能仪表。所以好的方法是按照通信回送的帧长度,在上位机程序中分别开辟两个同样长度的数组。一个作为接受数组,用来一次性接收串口缓冲区中的数据;另一个为安全数组,用来复制接收数组中的数据并进行解析。这样可以提高整个系统的容错能力。
LoopUntil frmcontrol.MSComm.InBufferCount = 9
InByte = frmcontrol.MSComm.bbbbb
For i = 0 To (count - 1)
   InSafeArray(i) = InByte(i)
Next i
其代码中的inbyte()就是接收数组,而InSafeArray()就是我们再开辟的安全数组。

(4)CRC校验的实现方法
    按照Modbus规约的校验方式,RTU模式的校验方式为CRC校验方式;而ASCII模式为LRC校验。一般的智能仪表多采用RTU的CRC校验方式。根据生成多项式的不同,CRC校验通常有以下几种:CRC-12 (传6bit);CRC-16(美国标准,传8bit);CRC-CCITT(欧洲标准,传8bit);CRC-32(point-to-point同步传输中使用) 。目前仪表类比较普遍的是CRC-16的校验码。其生成多项式为X16+X15+X2+1。在算法实现上,我们可以先预置一个16位的寄存器FFFF(全1),然后把8位的2进制数据(一个字节)与16位的CRC寄存器低8位异或,并把结果放回CRC寄存器同时寄存器内容右移,MSB补0,并检查移出的LSB。如果LSB为0则继续右移动,为1则CRC寄存器与多项式异或。重复上面操作到一个8bit字节完成,再继续对下一个数据进行相同处理,直到所有数据结束。这个时候CRC寄存器中的数据就是我们所要的CRC码了。实现代码如下:

CRC16Lo = &HFF                              ‘CRC16Lo为CRC寄存器低8位
  CRC16Hi = &HFF                              ‘CRC16Hi为CRC寄存器高8位
  CL = &H1
  CH = &HA0                                    ‘A001 H 是CRC-16多项式代码
  For i = 0 To UBound(Data)
     CRC16Lo = CRC16Lo Xor Data(i)             ‘每一个数据与CRC寄存器异或
      For index = 0 To 7
         UseHi = CRC16Hi
         UseLo = CRC16Lo
         CRC16Hi = CRC16Hi 2
         CRC16Lo = CRC16Lo 2                  ‘右移一位
         If ((UseHi And &H1) = &H1) Then       ‘如果高位字节后一位是1的话
             CRC16Lo = CRC16Lo Or &H80          ‘低位字节右移后前面补1
         End If
         If ((UseLo And &H1) = &H1) Then        ‘"如果LSB 为1,则与多项式进行异或
               CRC16Hi = CRC16Hi Xor CH
               CRC16Lo = CRC16Lo Xor CL
         End If
         Next index
     Next i

4 下位机工作系统设计简介

下位机一般是使用固化好通信协议及工作指令的单片机。因为测控系统多采用的是单发多收的通信机制,所以在下位机要允许用户预先设定本机的地址码,并且保证不能重复。此外,要注意通信波特率必须与上位机的波特率相匹配。在下位机软件开发中,要遵循Modbus规约的通信帧结构对上位机传输的命令进行解析:非呼叫对象应能及时重新恢复等待接受状态;响应呼叫的下位机要解析命令代码并进行相应的功能处理,对非法的命令操作要能回送报错信息。
在具体的工程开发中,下位机多是采用各个厂家出品的基与Modbus规约的智能仪表。这样虽然简化了我们开发的工作量,但是下位机的合理安排与设计能降低系统误码率、提高可靠性。因此是每个工业系统设计人员所不应该忽略的重要部分。在工业控制中,因为各种干扰源的存在且一般下位机数量较大,要对RS-485芯片选型有很认真的考虑。条件许可的话尽量选用抗电击和有较大级连驱动能力的芯片。理论上485芯片的级连能力至少32门,目前很多芯片厂家都能使工业级的级连数达到128以上。在实际应用中应该让系统具有一定的富余度,一般级连数不能超过该器件满载的70%。在选配RS232到RS485转换头的时候也应该尽量选用有源的转换器,以提高驱动能力和稳定性。此外,工业现场的降噪、隔离、布线、屏蔽等等措施的合理与否也会对后系统的稳定产生影响。

5 结束语

作者在实际的测控系统项目开发中,通过VB6.0结合SQL数据库编程,开发了基于该通信协议的上位机的测控管理软件,并利用RS-485总线实现了对基于该规约的各种下位机的监控和数据处理。在生产活动自动化,通信协议规范化,信息交流国际化的,充分利用现有的成熟而规范的通信协议能大限度地节约开发成本,降低开发风险,提高系统的兼容性和可移植性。Modbus RTU规约作为智能仪器仪表领域大量使用的国际化通信协议,必将得到更加普遍的推广和应用。

戴维南定理例题详解_戴维南定理解题技巧
用戴维南定理解题求详细过程 
戴维南定理例题详解_戴维南定理解题技巧  
把上面的图改画为下面的图。 
戴维南定理例题详解_戴维南定理解题技巧,电路变换 
将电阻R=3k从电路中断开,并设定如图三个节点。
电路整个分解为左右两个部分:
左边:节点电压为Uan,使用节点电压法,可得到方程:
Uan/60+(Uan+240)/30+(Uan-120)/20=0。
解得:Uan=-20(V)。
右边:节点电压为Ubn,同样使用节点电压法:
Ubn/60+(Ubn-480)/60+(Ubn+240)/20=0,解得:Ubn=-48(V)。
所以:Uoc=Uab=Uan-Ubn=-20-(-48)=28(V)。
再将所有电压源短路,得到:Req=Rab=60‖30‖20+60‖60‖20=10+12=22(kΩ)。
戴维南:U=Uoc×R/(Req+R)=28×3/(22+3)=3.36(V)

西门子PLC模块6ES7317-2EK14-0AB0

戴维南定理和诺顿定理是的电路简化方法,戴维南定理是学电子的同学经常要遇见的,戴维南定理在单频交流系统中,此定理不仅只适用于电阻,也适用于广义的阻抗。

       什么是等效电压源定律?戴维南定理

        由于戴维南定理和诺顿定理都是将有源二端网络等效为电源支路,所以统称为等效电源定理或等效发电机定理。

  戴维南定理(又译为戴定理)又称等效电压源定律,是由法国科学家L·C·戴维南于1883年提出的一个电学定理。由于早在1853年,亥姆霍兹也提出过本定理,所以又称亥姆霍兹-戴维南定理。

  戴维南定理(Thevenin‘s theorem):含独立电源的线性电阻单口网络N,就端口特性而言,可以等效为一个电压源和电阻串联的单口网络。电压源的电压等于单口网络在负载开路时的电压uoc;电阻R0是单口网络内全部独立电源为零值时所得单口网络N0的等效电阻。

推荐阅读:戴维南定理和诺顿定理详解

  用戴维南定理求开路电压求解电路的例题与方法

  1、如图,已知Us1=40v,R1=6Ω,Us2=22v,R2=3Ω,Us3=26v,R3=3Ω,Us4=20v,R4=R5=5Ω,R6=6Ω,R7=10Ω

  (1)试用戴维南定理求电阻R6中的电流I6

  (2)R6等于何值可获得大功率

  什么是等效电压源定律?用戴维南定理求开路电压求解电路的例题与方法

  解答:先将电源进行等效变换。

  1、将Us1和R1等效为:一个(20 / 3)安的电流源(上负下正)和一个6欧电阻并联。

  2、将Us2和R2等效为:一个(22 / 3)安的电流源(上负下正)和一个3欧电阻并联。

  将上述两个电流源及两个电阻等效为:一个Us12=[(20 / 3)+(22 / 3)]*6*3 / (6+3)=28伏特的电压源(上负下正)与一个R12=6*3 / (6+3)=2欧的电阻串联。

  3、将Us4和R4、R5等效为:一个[20 / (5+5)]=2安的电流源(上正下负)和一个10欧电阻并联。

  这个10欧电阻与R7并联的总电阻是 10*10 / (10+10)=5欧。

  再把这个电流源和这个5欧电阻等效为:一个Us4`=10伏特的电压源(上正下负)和一个R457=5欧电阻串联。

  显然,对外电阻R6而言,总电源的电动势为 Us=-Us12-Us3-Us4`=-28-26-10=-64伏特,总电源的内阻是 r =R12+R3+R457=2+3+5=10欧(以图示电流方向为正方向)

  (1)通过电阻R6的电流是 I6=Us / (R6+r )=-64 / ( 6+10)=-4 安

  (2)若R6是可变的,则当 R6=r 时,R6可获得大功率,这时 R6=10欧。

什么是等效电压源定律?用戴维南定理求开路电压求解电路的例题与方法

  什么是等效电压源定律?用戴维南定理求开路电压求解电路的例题与方法

  什么是戴维南定理?-----戴维南定理的证明方法

  戴维南定理可以在单口外加电流源i,用叠加定理计算端口电压表达式的方法证明如下。

 

  戴维南定理证明在单口网络端口上外加电流源i,根据叠加定理,端口电压可以分为两部分组成。一部分由电流源单独作用(单口内全部独立电源置零)产生的电压u’=Roi,另一部分是外加电流源置零(i=0),即单口网络开路时,由单口网络内部全部独立电源共同作用产生的电压u"=uoc。由此得到:U=u’+u"=Roi + uoc

什么是等效电压源定律?用戴维南定理求开路电压求解电路的例题与方法

  什么是戴维南定理?---戴维南定理注意事项

  (1)戴维南定理只对外电路等效,对内电路不等效。也就是说,不可应用该定理求出等效电源电动势和内阻之后,又返回来求原电路(即有源二端网络内部电路)的电流和功率。

  (2)应用戴维南定理进行分析和计算时,如果待求支路后的有源二端网络仍为复杂电路,可再次运用戴维南定理,直至成为简单电路。

  (3)戴维南定理只适用于线性的有源二端网络。如果有源二端网络中含有非线性元件时,则不能应用戴维南定理求解。

  (4)戴维南定理和诺顿定理的适当选取将会大大化简电路


相关产品
相关西门子产品
产品分类
最新发布
企业新闻
站内搜索
 
联系方式
  • 地址:上海市松江区广富林路4855弄88号3楼
  • 电话:15221406036
  • 手机:15221406036
  • 联系人:聂航