0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2021-03-02 15:38 次阅读

同样是使用使用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通讯时作从站.

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RFID
    +关注

    关注

    383

    文章

    5782

    浏览量

    234613
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10438

    浏览量

    206530
  • 通信
    +关注

    关注

    18

    文章

    5705

    浏览量

    134379

原文标题:S7程序-RFID 与PC连接区别-FB 65/UDT65

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    POWER IC-LTC3111输出电压会在一定范围内跟着输入电压的减小而减小,增大而增大是为什么?

    按照上图设计电路,输出电压vout为5.8v,FB电压为0.9v,并且输出电压会在一定范围内跟着输入电压的减小而减小,增大而增大,百思不得其解,特来请教专家,谢谢。
    发表于 01-05 12:45

    用LT4363设计了最简单的保护电路,输入电压65V为什么输出电压无法达到65V?

    65V; 2. OV短路到GND; 3. UV直接连接到Vin; 4. /SHDN开路; 5. FB连接到GND; 6. TMR接0.047uF; 7. MOS管是FDP3632,栅极
    发表于 01-05 06:38

    西门子博途:调用FB(实例化)

    与功能块(FC)相比,功能块(FB)具有存储器。这意味着功能块被分配了一个本地数据块,即所谓的实例数据块。当调用FB时,还必须指定实例DB的编号,并且此DB会自动打开。
    的头像 发表于 12-25 11:04 896次阅读
    西门子博途:调用<b class='flag-5'>FB</b>(实例化)

    RFID与NFC的区别

    RFID与NFC的区别  RFID(无线射频识别)和NFC(近场通信)都是无线通信技术。虽然它们都使用射频信号进行数据传输,但在应用和技术方面存在一些重要的区别。 首先,
    的头像 发表于 12-15 10:31 2544次阅读

    超声波测厚一定得用matlab编程吗?

    测厚一定得用matlab编程吗?求份超声波测厚的C51程序。
    发表于 11-09 06:52

    怎么用arduino控制舵机转动一定角度?

    怎么用arduino控制舵机转动一定角度
    发表于 10-18 06:16

    SQLx在Rust语言中的基础用法和进阶用法

    SQLx是一个Rust语言的异步SQL执行库,它支持多种数据库,包括MySQL、PostgreSQL、SQLite等。本教程将以MySQL数据库为例,介绍SQLx在Rust语言中的基础用法和进阶用法
    的头像 发表于 09-19 14:32 3054次阅读

    SQLx的基础用法和进阶用法

    SQLx是一个Rust语言的异步SQL数据库访问库,支持多种数据库,包括PostgreSQL、MySQL、SQLite等。本教程将以SQLite为例,介绍SQLx的基础用法和进阶用法。 基础用法
    的头像 发表于 09-19 14:29 1238次阅读

    请问MS51FB9AE-T与MS51FB9AE什么区别

    请问MS51FB9AE-T与MS51FB9AE什么区别
    发表于 08-30 07:28

    RFID和NFC傻傻分不清,它们有什么区别

    之前小明分享了明治RFID的经典应用以及RFID的工作原理(点击橙字可跳转回顾)细心的小伙伴就注意到了,RFID用法跟我们日常使用的手机以及公交卡的使用体验非常相似。但它们为什么是不
    的头像 发表于 07-31 23:21 2793次阅读
    <b class='flag-5'>RFID</b>和NFC傻傻分不清,它们有什么<b class='flag-5'>区别</b>?

    能否提供下RJ45转DB9F线的针脚配置?

    条 RJ45 转 DB9F 电缆。我想知道我们是否可以使用我们模块中的电缆组件(RJ45-to-DB9F)通过以太网协议与PC通信。 RJ45 到 DB9F 电缆设置:-RJ45 UT
    发表于 06-09 06:28

    使用HPM6280通用定时器软件同步功能,CH1的波形一定的延迟怎么解决?

    100khz,占空比为50%的PWM波形。当然由于两个通道开始计数的时间差别,CH1的波形一定的延迟。 int main(void) { board_init(); HPM_IOC-&
    发表于 05-26 06:23

    PLC编程中OB块、FC块、FB块、DB块的使用原则

    西门子新加块中包含组织块(OB)、函数块(FB)、函数(FC)、数据块(DB
    发表于 05-24 15:01 9871次阅读
    PLC编程中OB块、FC块、<b class='flag-5'>FB</b>块、<b class='flag-5'>DB</b>块的使用原则

    如何让nodemcu触发一定的时间?

    嗨,有人可以发布个链接到个工作示例,说明我如何让我的 nodemcu(带有 4 个继电器)触发一定的时间吗? 我想使用继电器触发安装在我家里的些百叶窗的遥控器,(我找不到任何我可
    发表于 05-15 06:16

    00012 空开和漏电符号的区别。放弃不难,坚持一定很酷,加油!#电气 #电工

    电工技术
    学习电子知识
    发布于 :2023年05月06日 23:08:02