首页 > 其他分享 >Siemens 西门子PLC的TCP通讯(不同项目下)①--TSEND_C指令

Siemens 西门子PLC的TCP通讯(不同项目下)①--TSEND_C指令

时间:2023-08-08 11:37:07浏览次数:42  
标签:TSEND -- TCP 发送 Siemens 指令 参数 连接

本期说一下,不同项目下的,连个西门子1200的TCP通讯,这次我们用TSEND_C和TRCV_C组合使用,这次先了解下TSEND_C指令是大概啥样的

1.0 从右边指令栏--通信--开放式用户通讯--其他,选择TSEND_C拖动到程序1中,如下图

 2.0 下面说下具体这个指令块的参数设置

REQ:指的是上升沿触发,发送作业,跟建立通讯无关,这个就是跟之前TSEND的区别!

ID:是指向已分配连接的指向

CONT:当为0时断开通信连接,当为1时建立并保持通讯连接

LEN:需要发送的最大字节长度,如果这个值设为0就会发送DATA指定的所有数据,如果LEN的值大于DATA定义的待发送数据的长度,比如DATA里面设定数据长度10个字节,LEN就不能大于10,不然指令参数STATUS会输出错误代码8088,当数据块是优化访问权限的结构化变量时,LEN=0,可传送最大字节数65534

DATA:指向发送区的指针,该发送区包含要发送数据的地址和长度,传送结构时,发送端和接收端的结构必须相同,这边要特别说明下指针,如下图,我们的指针是这样写的P#DB2.DBX0.0 BYTE 10,这句话的意思是指针指向DB2数据块,从DB块地址0.0开始的10个字节的数据,这样发送区就包含了数据的地址DB2的地址0.0,数据的长度10个字节,当头那个P指的是ANY数据类型的表示方式,ANY数据类型实际是80位指针类型数据

DONE:状态参数,为0时作业未启动或扔在执行,为1时作业已执行,且无任何错误,完成后会自动复位,需要自己锁存状态,来判断连接情况

BUSY:状态参数,为0时作业未启动或已完成,为1时作业执行中,无法开始新作业

ERROR;错误参数,为0时无错误,为1时有错误报警

注意:TSEND是异步执行的,所有需要在参数DONE或者参数ERROR的值变为1之前,发送区的数据要保持一致不要改动

 STATUS:指令的状态

这里在说下一个检查连接的指令T_DIAG,这个是通过ID来检测通讯连接情况,如下图,这里先简单说下,后面测试的时候再试试,参数大多数都差不多,这里就说一个参数

 如下图,RESULT这个参数是用来存储连接状态的,

这个参数要用特定的系统数据参数结构,TDiag_StatusExt和TDiag_Status,T_DIAG: 检查连接 (S7-1200, S7-1500),

  • TDiag_Status”结构只包含有关连接端点的最重要信息,例如,使用的协议、连接状态和发送或接收的数据字节数。
  • “TDiag_StatusExt”结构不仅提供最重要的信息,还提供连接尝试的次数、连接中止的原因等信息

 

标签:TSEND,--,TCP,发送,Siemens,指令,参数,连接
From: https://www.cnblogs.com/ybqjymy/p/17613695.html

相关文章

  • 数据仓库方案选型
    总体框架通常采用三层体系结构:前端工具(顶层)-OLAP服务器(中间层)-数据仓库服务器(底层)。底层的数据仓库服务器通常是一个关系数据库系统(各种表关联的sql统计会更方便一些,非关系型数据库目前在这方面还是有所区别)。中间层OLAP服务器,典型实现为ROLAP模型或MOLAP模型。顶层为前端客......
  • RocketMQ Linux单机测试:简易快速部署指南及Dashboard控制台部署
    目录简介开始下载增加环境变量修改启动文件jvm大小修改rocketmq配置文件启动快速测试关闭Dashboard下载Dashboard已编译jar包网盘下载启动命令可能遇到的问题写在最后简介请注意,本博客仅供初期测试时快速部署之用,以节省时间避免不必要的问题。如需在生产环境部署,请参考其他可靠......
  • Android 12 适配之 "Android:exported"
    Android12适配之"Android:exported"将build.gradle中的targetSDKVersion和compileSdkVersion改为31,对应Android12build项目报错AppstargetingAndroid12andhigherarerequiredtospecifyanexplicitvalueforandroid:exportedwhenthecorrespondingc......
  • Android协程带你飞越传统异步枷锁
    引言在Android开发中,处理异步任务一直是一项挑战。以往的回调和线程管理方式复杂繁琐,使得代码难以维护和阅读。Jetpack引入的Coroutine(协程)成为了异步编程的新标杆。本文将深入探讨AndroidJetpackCoroutine的使用、原理以及高级用法,助您在异步编程的路上游刃有余。什么是Coroutin......
  • Bootstrap框架----新建示例--各种input
    我们在之前的文章中已经在SpringMVC基础框架的基础上应用了BootStrap的后台框架,在此基础上记录新建示例。应用bootstrap模板基础项目源码下载地址为:SpringMVC+Shiro+MongoDB+BootStrap基础框架我们在基础项目中已经做好了首页index的访问。现在就在index.jsp页面和index的路由Con......
  • NineData|如何快速完成MySQL数据的差异对比?
    在现代商业环境中,数据库是企业存储核心数据的重要工具,而MySQL作为最受欢迎的关系型数据库管理系统,广泛应用于各行各业。在容灾、数据迁移、备份恢复等场景下,为了确保两端或多端之间数据的一致性,通常需要对数据进行一致性对比。而数据对比的传统做法 “人工抽检” 通常需要进......
  • 百度ueditor富文本--配置图片上传
    我们在之前的文章中已经学习了如何初始化百度ueditor富文本编辑器:百度ueditor富文本--PC端单个,PC端多个,mobile单个,mobile多个官网对编辑器的初始化和使用文档是比较详细的,这里就不多说了。本小节主要记录一下在初始化完编辑器之后 配置启用编辑器中的图片上传插件。项目路......
  • 银河麒麟等 Linux系统 安装 .net 5,net 6及更高版本的方法
    最近项目上用到银河麒麟的操作系统,需要搭建.net跨平台方案。一开始使用各种命令都安装不上,很多提示命令找不到,或者下载包时候网络无法下载。网上教程很多,但没有一个是成功的,多数使用apt-get等命令,都报错,提示命令未找到。于是开始手动安装。最终发现还是在Windows官网给出......
  • 4.深度学习(1) --神经网络编程入门
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • HS-GCN Hamming Spatial Graph Convolutional Networks for Recommendation
    目录概符号说明HS-GCNInitialLayerPropagationLayerHashCodeEncoding矩阵表示PredictionLayerOptimization代码LiuH.,WeiY.,YinJ.andNieL.HS-GCN:Hammingspatialgraphconvolutionalnetworksforrecommendation.IEEETKDE.概二值化的nodeembedding.符......