自动化项目倍加福测距仪QSM WCS RS485 与西门子S7 200通信

news2025/7/8 21:15:53

1、程序流程图

2、WCS位置数据处理流程

第一步:设置S7-200的RS485的通讯波特率19.2kbps,通讯格式(8,1,E);

 第二步:PLC向WCS发送请求码:

          A0A1为0,表示读码器地址为0,请求码为#80(十六进制);

          A0A1为1,表示读码器地址为1,请求码为#81(十六进制);

   第三步:WCS接受到请求码后,会自动向PLC反馈5个byte的相应码:

  1. Byte1为读码器状态位: DB OUT Err 表示读码器工作是否正常.

      2)Byte2/Byte3/Byte4为位置数据信息

                位置数据 == (Byte2)X(#80)X(#80) + (Byte3)X(#80) + (Byte4)

                                                      X 为乘法, + 为加法, #80 为十六进制数

            通过如上计算公式,直接可以计算出位置数据(十六进制数)

       3)Byte5为Parity效验字节 可以通过奇偶效验WXOR_B指令,把Byte1/2/3/4作奇偶效验,得出效验值与Byte5进行对比,确认通讯是否正常.

3、通信程序编写方法

S7-200的端口处于自由端口模式,用户程序通过使用接收中断、发送中断、发送指令和接收指令来控制通讯口的操作.


3.1.	S7-200通信端口中断事件号

•	当S7-200的端口0发送完成后,产生事件号9;(端口1为事件号26)
•	当S7-200的端口0接收完成后,产生事件号23;(端口1为事件号24)

3.2.	编程步骤

3.2.1.	先将需发送的数据和上述各通信参数写入相应寄存器;
3.2.2.	用中断连接指令ATCH连接中断程序和中断事件;
3.2.3.	在发送完成(产生中断事件9)连接到中断程序INT_1,在中断程序INT_1中用通信接收指令RCV接收数据;
3.2.4.	在接收完成(产生中断事件23)连接的中断程序INT_0,在中断程序INT_0中用通信发送指令XMT再次发送消息(WCS请求指令);

3.3.	范例程序 (Siemens S7 200)
3.3.1.	主程序

范例程序运行条件:
	WCS的物理地址为0;
	VB1:发送数据字节存储寄存器;
	VB30:接收数据字节存储寄存器;

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/39246.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

现代密码学导论-16-选择明文攻击和CPA安全

目录 PCA不可区分实验 DEFINITION 3.21 PCA安全的加密方案 LR预言机实验 DEFINITION 3.22 多明文PCA安全的加密方案 THEOREM 3.23 定义3.21和定义3.22等价 PCA不可区分实验 通过运行G(1^n)获得密钥k敌手A被给定输入1^n并拥有访问预言机Enck()的权利,敌手A输出一…

想要精通算法和SQL的成长之路 - 无重叠区间

想要精通算法和SQL的成长之路 - 无重叠区间前言一. 无重叠区间前言 想要精通算法和SQL的成长之路 - 系列导航 一. 无重叠区间 原题链接 给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互…

神经网络和深度学习-处理多维特征的输入

处理多维特征的输入 前面有两个数据集,一个回归,一个分类。 在回归中输出y属于实数,而在分类中输出y属于一个离散的集合 例如在糖尿病分类的数据集中Diabetes Dataset,每一行作为一个sample(样本)&#x…

Node.js 入门教程 11 Node.js 从命令行接收参数

Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录Node.js 入门教程11 Node.js 从命令行接收参数11 Node.js 从命令行接收参数 当使用以下命令调用 Node.js 应用程序时,可以传入任…

Android -- 每日一问:两个 Activity 之间如何传递参数?

经典回答 使用 Intent 的 Bundle 协带参数,就是我们常用的 Intent.putExtra 方法。 除了传递基本类型外,如何传递自定义的对象呢? 这个问题就是想引出 Android 的 Parcelable 。一般很多面试者都有用过传递实现了Serializable接口的自定义对…

JavaWeb学习-监听器

什么是监听器? 类似于前端的事件绑定,java中的监听器用于监听web应用中某些对象、信息的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。…

Flutter高仿微信-第54篇-群聊-邀请好友

Flutter高仿微信系列共59篇,从Flutter客户端、Kotlin客户端、Web服务器、数据库表结构、Xmpp即时通讯服务器、视频通话服务器、腾讯云服务器全面讲解。 详情请查看 效果图: 实现代码: import package:flutter/material.dart; import package…

【JavaEE】HTML

努力经营当下,直至未来明朗! 文章目录前言一、HTML概述二、【HTML常见标签】1. 注释标签2. 标题标签:h1-h63. 段落标签:p4.换行标签:br5.【格式化标签】5. 图片标签:img 【单标签,没有结束标签】…

HTML+CSS简单漫画网页设计成品 蜡笔小新3页 大学生个人HTML网页制作作品

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 ⚽精彩专栏推荐&#x1…

GreenPlum AOCO列存读IO原理

GreenPlum AOCO列存读IO原理GP自带AOCO列存,它的IO和heap表的IO是分开的。Heap表的脏数据由checkpoint或后台write进程刷写,也就是FlushBuffer函数调用smgrwrite。由magnetic disk storage manager管理IO模块。但是AOCO列存则是由本身进行管理&#xff0…

【信息融合】BP神经网络和DS证据理论不确定性信息融合问题【含Matlab源码 2204期】

⛄一、 D-S证据理论及解释 证据理论由Dempster在1967年最初提出,并由他的学生Shafer改进推广使之成为符合有限离散领域中推理的形式,因此称为D-S理论。证据理论讨论一个“辨识框架”(Frame of Discernment)Θ,它是关于命题的相互独立的可能答案或假设的一个有限集合。按传统方…

基于POI的可快速定制Excel导出脚本设想

基于POI的可快速定制Excel导出脚本设想 背景 年关将至,业务人员提出了好多比较着急但是又不常用的取数需求。所谓不常用,大概了是由于业务人员前期调研产生的临时需求,后续也不会大面积铺开,没必要专门分配人员去开发。所谓比较着…

诊断数据库ODX—数据库框架(基于ISO22901详解)

文章目录 前言一、ODX数据库自身架构是什么?二、ODX数据库架构具体组成部分和含义总结前言 车载诊断现阶段应用的诊断数据库大体分为三种: CDD(Vector私有格式); ODX全球通用诊断数据库格式; DEXT&…

【零基础入门SpringMVC】第四期——RESTFUL专题

一、RESTFul 概述 1、什么是 RESTFul? REST 全称 Representational State Transfer 代表 表现层资源状态转移 视图层 控制层 表现层 百度百科这样说: RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式…

轻松应对80% 的工作场景?GitHub 爆赞的 Java 高并发与集合框架,面试官也拿我没辙

在工作中,笔者经常和掌握不同技术的朋友讨论具体问题的解决方案,发现在 Java 体系中,大家使用最多的是 Java 集合框架(JCF)和 Java 并发工具包(JUC)。实际上,JCF 和 JUC 已经能够覆盖…

Flutter高仿微信-第50篇-群聊-查看群成员

Flutter高仿微信系列共59篇,从Flutter客户端、Kotlin客户端、Web服务器、数据库表结构、Xmpp即时通讯服务器、视频通话服务器、腾讯云服务器全面讲解。 详情请查看 效果图: 实现代码: import package:flutter/material.dart; import package:…

Node.js 入门教程 7 从命令行运行 Node.js 脚本 8 如何退出 Node.js 程序

Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录Node.js 入门教程7 从命令行运行 Node.js 脚本8 如何退出 Node.js 程序7 从命令行运行 Node.js 脚本 运行 Node.js 程序的常用方法是&#…

【点云处理】点云法向量估计及其加速(5)

在上一篇文章【点云处理】点云法向量估计及其加速(4)中我们尝试对pcl自带的KDTree的k近邻搜索过程使用OpenMP加速,效果比较明显,有将近1倍的提速。在这篇文章中我们暂时放弃pcl自带的KDTree,转而使用另一大杀器nanflann库提供的KDTree。nanof…

玩链子游戏

一 游戏描述 有一条链子,上面有 n 颗钻石,钻石编号为 1~n 。可以对该链子执行两种操作: ① CUT a b c (区间切割操作) 切下从第 a 颗钻石到第 b 颗钻石的链子,把它插在剩余链子的第 c 颗钻石…