lucas
级别: 家园常客
精华主题: 0
发帖数量: 290 个
工控威望: 570 点
下载积分: 2881 分
在线时间: 113(小时)
注册时间: 2010-02-02
最后登录: 2022-05-20
查看lucas的 主题 / 回贴
楼主  发表于: 2019-09-10 18:51



如图,怎么解释SD10681 与SD10682 这2个信号?

开放请求,是谁请求谁?


为什么用开放请求信号 去关闭端口?




反而开放请求信号为OFF时才能开启端口



难道是SD10681 是OFF时请求开放,ON时关闭请求?
但是貌似又不是这么一回事:


[ 此帖被lucas在2019-09-11 16:28重新编辑 ]
tkggtdkjpl
工欲善其事,必先利其器!
级别: 网络英雄

精华主题: 1 篇
发帖数量: 3413 个
工控威望: 20949 点
下载积分: 20578 分
在线时间: 1701(小时)
注册时间: 2010-01-03
最后登录: 2024-04-26
查看tkggtdkjpl的 主题 / 回贴
1楼  发表于: 2019-09-10 19:06
一个是自己的状态,一个是对方的状态
因为PLC要么做服务器要么做客户端
自动化单机,生产线,项目编程调试!
lucas
级别: 家园常客
精华主题: 0
发帖数量: 290 个
工控威望: 570 点
下载积分: 2881 分
在线时间: 113(小时)
注册时间: 2010-02-02
最后登录: 2022-05-20
查看lucas的 主题 / 回贴
2楼  发表于: 2019-09-10 19:15
引用
引用第1楼tkggtdkjpl于2019-09-10 19:06发表的  :
一个是自己的状态,一个是对方的状态
因为PLC要么做服务器要么做客户端

那哪个是自己的?哪个是对方的?
guoqing3511
随风飘荡
级别: 家园常客
精华主题: 0
发帖数量: 480 个
工控威望: 627 点
下载积分: 1466 分
在线时间: 235(小时)
注册时间: 2016-06-03
最后登录: 2024-04-17
查看guoqing3511的 主题 / 回贴
3楼  发表于: 2019-09-10 20:48
我有发socket方面的通讯,你看看。
lucas
级别: 家园常客
精华主题: 0
发帖数量: 290 个
工控威望: 570 点
下载积分: 2881 分
在线时间: 113(小时)
注册时间: 2010-02-02
最后登录: 2022-05-20
查看lucas的 主题 / 回贴
4楼  发表于: 2019-09-11 16:26
引用
引用第3楼guoqing3511于2019-09-10 20:48发表的  :
我有发socket方面的通讯,你看看。


socket通讯照着手册上写就没问题,但是道理要弄明白啊
zmrs163
级别: 略有小成
精华主题: 0
发帖数量: 340 个
工控威望: 488 点
下载积分: 1396 分
在线时间: 310(小时)
注册时间: 2017-06-12
最后登录: 2024-04-11
查看zmrs163的 主题 / 回贴
5楼  发表于: 2019-09-12 08:25
原理很简单,可以去看下TCP的书。SD10681是PLC发起连接请求时变为ON,如果PLC是客户端由CLOSE指令OFF。如果是服务器就一直为ON。SD10680代表实际的连接状态,TCP三次握手之后为ON,四次挥手之后为OFF。实际的连接可以由服务器或者客户端发起断开,PLC发起就是CLOSE,服务器那端断开其实也就是类似于close的一个函数而已,这时SD10680就是自动OFF。
本帖最近评分记录:
  • 下载积分:+1(我的水平有限) 讲得很清晰明白
    lucas
    级别: 家园常客
    精华主题: 0
    发帖数量: 290 个
    工控威望: 570 点
    下载积分: 2881 分
    在线时间: 113(小时)
    注册时间: 2010-02-02
    最后登录: 2022-05-20
    查看lucas的 主题 / 回贴
    6楼  发表于: 2019-09-12 09:00
    引用
    引用第5楼zmrs163于2019-09-12 08:25发表的  :
    原理很简单,可以去看下TCP的书。SD10681是PLC发起连接请求时变为ON,如果PLC是客户端由CLOSE指令OFF。如果是服务器就一直为ON。SD10680代表实际的连接状态,TCP三次握手之后为ON,四次挥手之后为OFF。实际的连接可以由服务器或者客户端发起断开,PLC发起就是CLOSE,服务器那端断开其实也就是类似于close的一个函数而已,这时SD10680就是自动OFF。


    有道理,假如PLC是客户端,那么SD10681是请求服务器打开端口吗?

    别外三次握手是哪三次? 四次挥手又是哪4次?(已经百度,上面有很多解释,我先看看)
    zmrs163
    级别: 略有小成
    精华主题: 0
    发帖数量: 340 个
    工控威望: 488 点
    下载积分: 1396 分
    在线时间: 310(小时)
    注册时间: 2017-06-12
    最后登录: 2024-04-11
    查看zmrs163的 主题 / 回贴
    7楼  发表于: 2019-09-12 09:31
    如果PLC是客户端SD10681在OPEN指令之后为ON,CLOSE指令之后为OFF。你那个程序的意思是,如果服务器发起断开,那么SD10680会有一个下降沿,然后PLC就使用CLOSE复位SD10681,以便于下一次打开,否则无法再次使用OPEN指令
    zmrs163
    级别: 略有小成
    精华主题: 0
    发帖数量: 340 个
    工控威望: 488 点
    下载积分: 1396 分
    在线时间: 310(小时)
    注册时间: 2017-06-12
    最后登录: 2024-04-11
    查看zmrs163的 主题 / 回贴
    8楼  发表于: 2019-09-12 09:36
    补充一下,TCP的断开类似于打电话,SD10680的OFF意味着对方挂断了电话,那么我也需要挂电话,SD10681的OFF意味着我也挂掉了电话。而SD10681的ON就好比我打电话打出去,SD10680的ON意味着电话打通了
    本帖最近评分记录:
  • 下载积分:+1(我的水平有限) 很形象,容易让人懂
    lucas
    级别: 家园常客
    精华主题: 0
    发帖数量: 290 个
    工控威望: 570 点
    下载积分: 2881 分
    在线时间: 113(小时)
    注册时间: 2010-02-02
    最后登录: 2022-05-20
    查看lucas的 主题 / 回贴
    9楼  发表于: 2019-09-12 10:02
    引用
    引用第8楼zmrs163于2019-09-12 09:36发表的  :
    补充一下,TCP的断开类似于打电话,SD10680的OFF意味着对方挂断了电话,那么我也需要挂电话,SD10681的OFF意味着我也挂掉了电话。而SD10681的ON就好比我打电话打出去,SD10680的ON意味着电话打通了


    嗯嗯,谢谢解答! 终于遇到一个能讲通的答案! 朋友看来你对TCP通讯很了解
    17312588730
    级别: 探索解密
    精华主题: 0
    发帖数量: 115 个
    工控威望: 156 点
    下载积分: 81121 分
    在线时间: 107(小时)
    注册时间: 2019-05-27
    最后登录: 2024-04-26
    查看17312588730的 主题 / 回贴
    10楼  发表于: 2019-09-15 19:51
    这样通俗易懂,୧😂୨
    引用
    引用第8楼zmrs163于2019-09-12 09:36发表的  :
    补充一下,TCP的断开类似于打电话,SD10680的OFF意味着对方挂断了电话,那么我也需要挂电话,SD10681的OFF意味着我也挂掉了电话。而SD10681的ON就好比我打电话打出去,SD10680的ON意味着电话打通了