同样是使用使用FB65但RFID与PC的连接DB用法有一定的区别:

首先说一下什么是FB65:

通过TCP和ISO on TCP使用

两个通信伙伴都调用FB 65 "TCON"来设置和建立通信连接。在这些参数中,您要指定哪个伙伴是主动通信传输点、哪个伙伴是被动通信传输点。

设置并建立连接后,CPU会自动对连接进行维护和监视。

如果连接中断,如由于线路中断或远程通信伙伴而造成的中断,主动伙伴会尝试重新建立已组态的连接。在这种情况下,不必再次调用FB 65 "TCON"。

当调用FB 66 "TDISCON"或CPU进入STOP模式时,现有连接将被终止并删除已组态的连接。要重新设置并再次建立该连接,必须再次调用FB 65 "TCON"。

下面各自介绍一下程序结构和设置:

RFID的设置

SICKRFID里软件程序里的设置:

RFID的背景数据块定义FB的连接格式:和UDT65一致!

在程序中设置格式:

FB520程序分析:

用户程序和操作系统通信层之间该连接的标识号(数值范围:W#16#0001至W#16#0FFF)您必须在各个带有标识号的块中指定参数的值。

TCON_PARAM.id               := INT_TO_WORD(VerbID.ID); 20

建立连接的方式的标识号:必须将FALSE分配给该参数。

TCON_PARAM.active_est       := True;S7作Client时为主动 TRUE

S7作Server时为被动FALSE

TCON_PARAM.connection_type  := B#16#11; 协议类型:11TCP/13UDP

B#16#03:通过CPU 319-3 PN/DP上的集成IE接口进行通信

TCON_PARAM.local_device_id  := INT_TO_BYTE(VerbID.DeviceID);  =3

以十六进制表示的端口号

TCON_PARAM.local_tsap_id[1] := WORD_TO_BYTE(SHR(IN:=INT_TO_WORD(VerbID.lokalPort),N:=8)); 2111

TCON_PARAM.local_tsap_id[2] := WORD_TO_BYTE(INT_TO_WORD(VerbID.lokalPort));

TCON_PARAM.rem_staddr_len   := B#16#4;    远程连接终端的地址长度:4: 参数rem_staddr中有效的IP地址

TCON_PARAM.rem_tsap_id_len  := B#16#2;    所使用的参数rem_tsap_id的长度

连接设备的IP地址:

TCON_PARAM.rem_staddr[1]    := INT_TO_BYTE(VerbID.IP[1]); 10

TCON_PARAM.rem_staddr[2]    := INT_TO_BYTE(VerbID.IP[2]);200

TCON_PARAM.rem_staddr[3]    := INT_TO_BYTE(VerbID.IP[3]);27

TCON_PARAM.rem_staddr[4]    := INT_TO_BYTE(VerbID.IP[4]);48

TCON_PARAM.rem_tsap_id[1]   := B#16#8;    远程标示号0840---2112

TCON_PARAM.rem_tsap_id[2]   := B#16#40;    远程标示号

在与中控室电脑连接时FB600 的静态变量格式与RFID的格式一致证明

DB860关于与PC连接用设置结构:

FB600程序分析:

L     DBW [AR1,P#0.0]  1 连接ID用户程序和操作系统通信层之间该连接的标识号

T     #Verbindung.id

L     B#16#11                     使用TCP连接方式

T     #Verbindung.connection_type

SET  建立连接的方式的标识号:必须将FALSE分配给该参数。

R     #Verbindung.active_est

L     0                           //0 不用指0

T     #Verbindung.rem_staddr_len  //  远程连接终端的地址长度

PC的IP地址:

L     DBW [AR1,P#4.0]             //VerID.IP[1]  192

T     #Verbindung.rem_staddr[1]

L     DBW [AR1,P#6.0]             //VerID.IP[2]  168

T     #Verbindung.rem_staddr[2]

L     DBW [AR1,P#8.0]             //VerID.IP[3]  0

T     #Verbindung.rem_staddr[3]

L     DBW [AR1,P#10.0]            //VerID.IP[4]  11

T     #Verbindung.rem_staddr[4]

L     0

T     #Verbindung.rem_tsap_id_len //  所使用的参数rem_tsap_id的长度

连接设备的IP地址:

L     2                           //所使用的参数local_tsap_id的长度为2

T     #Verbindung.local_tsap_id_len

L     DBW [AR1,P#12.0]            //2000

T     #Verbindung.local_tsap_id[2]    //  低字节

SRW   8

T     #Verbindung.local_tsap_id[1]    //  高字节

L     DBW [AR1,P#2.0]   B#16#03:通过CPU 319-3 PN/DP上的集成IE接口进行通信

T     #Verbindung.local_device_id

从对FB600和FB520程序分析我们可以知道它们公用的程序结构还是使用了UDT65的标准化的结构,都使用了TCP连接,只是端口各不相同罢了,一个是2111而另一个是2000.在就是和RFID通讯时作主站,和PC通讯时作从站.

--------------------------------END-------------------------

每天进步一点点

Make small but daily progress

通讯中断 pc_S7程序RFID 与PC连接区别FB 65/UDT65相关推荐

  1. 【IOT开发】蓝牙模块与PC连接通讯实验

    这是在一个项目中,需要开发 windows APP,通过蓝牙与下位机通讯.之前接触过的一些蓝牙项目,大多是 模块与模块 通讯,也见过很多模块-手机通讯的教程,但PC端直接与蓝牙模块的连接教程比较少,买 ...

  2. java与微信小程序通讯_java与微信小程序实现websocket长连接

    本文实例为大家分享了java与微信小程序实现websocket长连接的具体代码,供大家参考,具体内容如下 背景: 需要在小程序实现地图固定坐标下实时查看消息 java环境 :tomcat7 jdk1. ...

  3. Esp8266 进阶之路25【高级篇】深聊下esp8266的串口 Uart 通讯中断编程,为您准备好了 NONOS 版本 和 RTOS 系统的串口驱动文件。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  4. 二、PC连接上tello edu并通过python进行简单控制

    1.PC连接tello edu发送命令和接受响应 将tello edu开机,此时飞机的状态指示灯显示 -> 黄色快闪 黄色快闪表示遥控信号中断 此时将PC连接上tello edu的WiFi,如下 ...

  5. matlab网络通讯消息响应,nevoVI FIRE——实现PC与CAN和LIN网络通信

    6个CAN通道,4个LIN通道,高级 LIN和 CAN分析,支持7个通用端口,其中4个端口可用于模拟输入,1个数字端口可产生PWM信号,另一个可以测量PWM信号.支持单机模式运行. 6x CAN, 4 ...

  6. 西门子S7-1200 S7-1500PLC编程案例,包含V90PN通讯,G120变频器 RFID模块

    西门子S7-1200 S7-1500PLC编程案例,包含V90PN通讯,G120变频器 RFID模块 GSDML HMI 触摸屏组态,FB284应用 ET200SP 多PLC1200 1500组网通讯 ...

  7. linux下phy接光模块,C6638,linux mac to mac 模式(没PHY),接SFP+模块,通过光纤(30cm)与PC连接。在PC显示该网络链路为10Gbps,网口问题...

    TI工程师你们好: 在自己的板子上 移植的版本: uboot      u-boot   ( 使用: DEV.MCSDK-2013-01.11) linux       K2_LINUX_03.10. ...

  8. 基于STM32的485通讯传感器采集程序

    基于STM32的485通讯传感器采集程序 先来看看硬件连接,大致就这样连接! 一般来说,RS485是硬件,而他软件方面是modbus协议,用到最多的是RTU方式. 工作方式:主机(STM32)通过串口 ...

  9. python连接plc_Python与PLC踩坑实录:成功解决西门子 PLC S7-200_SMART与PC连接时不能同时用Python的snap7包和step7软件同时连接...

    解决西门子 PLC S7-200_SMART与PC连接时不能同时用Python的snap7包和step7软件同时连接 问题描述 在与西门子 PLC(型号S7-200_SMART)进行Python编程操 ...

最新文章

  1. html块元素设置min-width,css min-width属性怎么用
  2. bzoj4033:[HAOI2015]树上染色
  3. 使用PHP CURL 模拟HTTP实现在线请求工具-toolfk程序员工具网
  4. Elasticsearch索引原理
  5. 数据量很大的排序问题 大量数据如何排序,没有做测试
  6. 一个学习的好去处!!
  7. java反射异常之java.lang.NoSuchFieldException: school
  8. 数据:ContentResolver类
  9. 【保存】maven的pom.xml标签的xsi:schemaLocation处报错
  10. PS(留学动机)的妙用——扭转你的劣势
  11. python获取动态更新的数据_python3+beautifulsoup动态数据获取想要的内容
  12. springboot test
  13. Mac上制作Linux U盘启动盘
  14. u-boot与linux下网卡MAC地址的更改
  15. day16-正则表达式
  16. 什么是VTP?(简单介绍)
  17. windows下vue-cli及webpack 构建网站(三)使用组件
  18. 快速打开命令行方法集合
  19. 虚拟主机、VPS、云服务器三者的区别
  20. filecoin/lotus 官方开发文件中文翻译2019.12.17最新版本

热门文章

  1. Java中九大内置对象
  2. 《Head First设计模式》批注系列(一)——观察者设计模式
  3. 【leetcode❤python】 9. Palindrome Number
  4. JSP慕课网阶段用户登录小例子(不用数据库)
  5. [物理学与PDEs]第1章第4节 电磁能量和电磁动量, 能量、动量守恒与转化定律 4.3 电磁能量 (动量) 密度, 电磁能量流 (动量流) 密度...
  6. Android 常用权限
  7. 校验值的计算----移位算法
  8. dev GridControl双击行事件
  9. struct1标签使用方法笔记
  10. java SWT Browser实现浏览器功能并运行JavaScript代码