请教多路传感器输入及数值转换程序

前面经过多方调试和各位的帮忙指导我已经建立了一个传感器与PLC的通信,但还有两个问题需要大家的指导,在此先谢了:
 1、数据传送以ASCII方式,PLC接收到的数据为十六进制,即为十六进制的ASCII,如接收到数据30H 39H 31H 34H,实际上最终数值为9.14,因此,如何将上面四个字节的数据转换成一个实数呢?假设上述四组数据地址为VB300、VB301、VB302、VB303,最终结果存放在VD400中,该如何编程呢?
 2、使用如下的中断程序完成了一路传感器的通讯,现在我要实现两路传感器分时输入,但只有一个串口可用,两路传感器型号不一样,分别为1、2,需要在程序中做何种修改呢?添加另外两个类似的中断可以吗?如何实现分时呢?谢谢各位,能给我写出程序最好,若是忙的话给出思路也好。
 一路通信程序如下:
 MAIN:
 Network 1 // 网络标题
 // 网络注释
 LD     SM0.1
 CALL   SBR0

 SBR0:
 Network 1 // 网络标题
 // 网络注释
 LD     SM0.1
 MOVB   16#09, SMB30
 MOVB   16#F0, SMB87
 MOVB   16#0A, SMB88
 MOVB   16#0D, SMB89
 MOVW   +100, SMW92
 MOVB   17, SMB94
 ENI
 ATCH   INT0, 9
 MOVB   150, SMB34
 ATCH   INT1, 10

 INT0:
 Network 1 // 网络标题
 // 网络注释
 LD     SM0.0
 RCV    VB200, 0
 MOVB   250, SMB34
 ATCH   INT1, 10

 INT1:
 Network 1 // 网络标题
 // 网络注释
 LD     SM0.0
 DTCH   10
 XMT    VB100, 0
 数据块:
 VB100  4
 VB101  16#0A
 VB102  16#0D
 VB103  16#1
 VB104  16#0D

问题补充:
谢谢各位的指导,目前我已经完成了数制转换和两路传感器分时通信,但是就像LaoHuai说的,传输过程中如果某一路传感器掉电,那么PLC将不能接收到数据,具体就是:两路传感器可以通信,仅型号2可以通信,此时型号1存储数据为0,但是仅型号1却不能通信,不能接收到数据,现将主要的分时程序和中断程序写出来,希望大家能帮忙指点一下:
 Network 2 
 // 产生周期2秒的时钟脉冲,一秒OFF,一秒ON
 LDN    T34
 TON    T33, 150
 TON    T34, 300
 网络3:分时定义不同的传感器机型号,以辨别向不同的传感器发送
 LD     T33
 MOVB   16#1, VB53
 NOT
 MOVB   16#02, VB53
 中断1:
 Network 1 // 网络标题
 // 传感器向PLC发送数据,存放在VB100数据缓冲区
 LD     SM0.0
 LPS
 AB=    VB53, 1
 RCV    VB99, 0
 LRD
 AB=    VB53, 2
 RCV    VB499, 0
 LRD
 MOVB   250, SMB34
 LPP
 ATCH   INT1, 10
 中断2:
 Network 1 // 网络标题
 // 向传感器传送数据
 LD     SM0.0
 DTCH   10
 XMT    VB50, 0

 
 

最佳答案

1、
  回答问题前我说些无关的话
  a、我是在看到你问题后一边看帮助一边实验,我也希望你以后可以多按F1,自己实验得到的知识一般印象很深。
  b、从转换的结果和我查码表的结果来看,你的问题答案是914.0,
  你应该是忘了告诉大家,小数位是固定的2位,对不对?

  使用 STR 指令

  LD     SM0.0
  STR    VB299, 1, VD400 //VB299存放的是字符串的长度,本例为4

  如果还不清楚,请在转换/STR指令上按F1

 2、
 使用定时方式改变VB100开始发送数据区的内容,如果我猜的不错的话应该是让VB103为1 或者 2 ,接收的时候通过通讯协议来判断是哪个设备返回的,做相应的处理。

提问者对于答案的评价:
谢谢您的帮助,让我受益匪浅,谢谢。

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

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

相关推荐

发表回复

登录后才能评论