s 七通讯协议 s 七通讯是 s 七系列漂袭的一种优化的通讯协议,我相信很多朋友都用过 s 七通讯方式,但 但是对这种通信协议并不了解,我们简单看一下, s 七通信协议是西门子 s 七系列的漂行内部基层的一种通信协议,而西门子还有 s 五系列的漂行啊,他是运行在传输层之上,就是在 osi 模型里面顶部的三层,他对这三层进行了一个约定,他的 其实可以传输在三层网络里面的。很多朋友经常用仪态网来实现这样一种通讯方式,但是呢,即使在另外的两个网络里面也是可以实现的。 sg 通讯方式呢,有两 总,一个叫单边通讯,一个叫双边通讯。哎,这其实是一个不太正式的一个叫法,更官方正式一点的名称。单边通讯叫客户端服务器模式,这也是最常用的一种通讯方式,只需要在客户端一侧进行配置的编程服务器,那 端呢,只需要准备好数据就可以了,并不需要进行编程。客户端服务器的模式数据流动是单向的,客户端可以操作服务器的数据,但是反过来是不可以的。有时候呢,我们需要进行双向的数据操作,这里面就涉及到双边通信比较正式的叫法,一个叫伙伴与伙伴的通行模式,还有一个叫客户端与客户端的通行方式,他有 几个特点,一个是通信双方都要进行配置和编程,通信的时候要先建立连接,通信建立完成之后,通信双方都可以发送和接收数据。
粉丝3.6万获赞8.6万


对于 s 七 plc 之间的 s 七通信,除了编程调用指令外,前提条件就是要建立 s 七连接,那么通信双方主动发起建立连接请求的,我们就称它为 s 七客户端,被动的地方就是 s 七服务器。 s 七连接建立的方式呢,主要有两种,一种是单 b s 七连接啊,一种是双 b s 七连接,那么顾名思义,对于单 b s 七连接来说, 他只需要在客户端侧组态中添加一个未指定的链接,然后填写伙伴的地址,伙伴连接的资源呢,选择零三,然后服务器册呢,是不需要组态添加链接的,在之后的通信中,只需要在客户端侧调用铺的和盖的指令来读写数据。 对于双边连接来说,一般有两种连接组态的方式,第一种呢就是在的在相同的项目下啊,双方建立指定伙伴的连接啊,这种方方式呢最为简单。另一 一种呢就是通信双方分别添加一个未指定的链接,然后呢手动填写对方的通信参数。双边链接建立之后,可以使用所有的 s 七通信指令,包括 put get u sand your receive b sand b receive。

讲一下西门子 s 七幺二零零,莫德巴的 rq 通讯啊,首先新线项目,然后在机架上添加平安的 c, 嗯, s 七幺二零零,最多支持,嗯,添加三个通讯扩展模块啊,然后可以添加一个通讯扩展板,也就是说他最多支持啊,四路创口通讯 啊。首先我们在右侧右键目录下找到需要添加的通讯扩展模块 啊,或者说我们可以添加一个通讯扩展板。 首先我们添加一个 fc 块, 在右侧通讯指令下找到 mode boss rtu, 找到主菜端口,将他拖到程序段里面, 自动双重 db, 点击确定。 这里我们启用系统和时钟传播器, 这里使用 m 一点零, 这里请用边缘指令, 这里破的我们选择。 如果说你使用这个同选扩展板的话,我们选择 cb 幺二四幺。如果说,嗯, 你使用通讯扩展模块的话,我们选择 cm1241。 这个二六九是他的硬件,是编码, 我也,我们也可以在嗯,他的系统长处里面找到他的硬件识别码为二百六十九, 我们也可以手动输入二百六十九,嗯,这里是他的波特率啊,默认为九六零零,嗯, 这里是集武校宴,零式武校宴,一是机校宴,二是偶校宴,我们选择默认 啊,这里全部选择默认。然后这是莫德巴斯 db 啊,如果说是我们使用主战的话,那就是, 那就是主战 modelbuss marty 的 db, 嗯,这里是通讯,嗯, 建立通讯之后的完成标志位,这里是,嗯,如果说建立通讯失败,会产生错误,错误标志位,这里是错误状态字啊,我们不进行配置。 这里使用边缘质量, 嗯,这里是从站的通讯地址, 嗯,这里的模式就是说,嗯,零是读一是写, 嗯,这里是莫德巴斯的,嗯,地址,嗯,如果说我们读,嗯,保持传储器的话,就是说是从四零零一开始,嗯,这是莫德巴特的绝对地址。这里是就是说 我们读取这个保持,嗯。纪梵希的,呃。长度, 我们先建一个 db 数据块, 全局一比一, 先建一个数组, 点击属性取消优化快的访问, 这里的数据是以指尖形式进行数据访问, 嗯,然后这里是,嗯。通讯完成标志味,啊,通讯正在进行通讯的标志味啊,错误标志味,嗯,错误状态字,这里我们不进行配置, 这就是莫德巴的 rtv 的主战手机配置,嗯,然后在设备堵塞的时候,我们这里,嗯,同学模块,我们选用的 ech 三二这个创口模块,他是同时带有 rs 四二 二二干四把五两个转口的,那么在端口出水化的,嗯,鸡皮块里面, 我们要要将这个静态变量木的改改为十六井零四,改为十六井零四之后,嗯,他就是两千至四八五通讯, 然后在 ob 一里面调用 fc 一 啊,如果是从战同选的话, 再配置一个总站。同学, 这里的端口就是,呃,从站的站号,嗯,站号为十,然后这里也是一个纸质的变量,他是以指尖形式访问计算器的,呃,就是说从站,嗯,主站可以访问的你的,呃,呃,从站数据的其实地址, 嗯,这里就是说,嗯,主站写入的话,他会标志为一,这里就是说,嗯,主站读取成功的话,这里会标志为一,嗯,这里就是如果说他通讯嗯,错误的话,会 会变主意,这里是错误编制字,然后就是将程序编辑好之后下载到这些里面,嗯,如果说是他通讯不上的话, 我们可以直接看一下背景数据块, 嗯,这里的散的 p to p, 嗯。 part。 如果说是你下载之后他识别了你的公改,这里会刚才是那个主站的话是二百六十九,这里会,嗯,变更为二百六十九啊。如果说是,嗯,你下下载之后,呃, 这里没有电工的话,就是说可能你下载的,嗯,用件配置没有识别啊,那么你需要, 嗯,恢复为出厂设置,嗯,将 pic 恢复为出厂设置,然后再重新编意下载到 pic 嗯,里面去,然后再监看一下 这个炮的端口是不是已经攻拐为二百六十九 啊。如果没有公馆的话,还有一个就是说,嗯, 在这里报错,嗯,报错的话会为是八二八零 啊,这就是 model rtu, 它的主战配置啊。如果说, 嗯, 这就是莫德巴的 rtu, 他的主战配置, 这就是莫德巴的 atv 的主战配置,嗯,在组态的时候 这里选择了,嗯,一系 h 三二,他是同时支持,嗯,四八五 干四二二的,嗯,如果说你使用四八五创口通讯的话,需要在 这里的模式设置为零四, 然后从站的话, 这里是同站的账号。

哈喽,大家好,我是自动化助攻,给大家分享一下西门子 s 七两百 poc 如何快速学会呃走 mrobus rtu 协议 与各种支持摩洛巴斯 rtu 协议的仪器仪表哦,温度传感器,红外传感器呃,各种 io 设备通讯, 在我左手边的这一个是西门子二六 xpcpu 啊,在我右边这一个,他是一个支持 mode boss rtu 协议的呃,采集 io 采集模块 啊,我们知道二六叉 pcpu 他有两个四八五通讯口啊,右边这一个他是 pot 零口啊,左边这一个他是 pot 一口,他这两个通讯口都可以作为摩托 boss rtu 主专用啊。这里给大家演示的 的是二六叉 p 的 pos 领口,作为摩托 boss rtu 主战,与这一个摩托 boss rtu 从战,还有采集模块通讯好, 那么 poc 在与这个 io 设备通讯之前, poc 在硬件上面需要先将 poc 的四八五口与这个 io 设备相连。那么我们知道,呃, s 七两百 poc 它的九张口 啊,这个四八五口,他的银角定义,四八五的银角定义是三正八负,那么他的呃四八五的正负需要接到这个 l 采集模块的四八五正负正对正,负对负。好,那么这里咱们已经焊好了一条通行线啊,直接现在先接上线 好,那么在软件上面, pic 需要写摩登 boss rtu 主战的程序,那么 pic 在写程序之前,我们需要知道这个 i 采集模块,他当前的波特率,数据位,占用位,停止位,还有他作为 rto 总站的账号地址是多少啊?还有他身上的呃,这些点数,他身上的开关量输入,开关量输出对应的 mole boss 地址是多少?那么这一个采集模块上面开关量有十六路, 开关量输入有十六路,开关量输出有十六路。好,我们知道现在经过看这个模块的手册,我们知道这个模块当前是九千六的波特率啊,九千六波特率,然后八个数据位,一个停止位,无状元位啊, 然后他的账号地址是一号站,一号站,那么他身上的开关量输入输入的地址是啊,一万零一,一直到一万零一十六啊,这十六路开关量输入啊, 输出的地址是一到十六。好,这是我们知道这个模块他现在的参数是这样子,那这个时候我们再来 ps, 这边写 itu 主战的程序才能够写, 那么 pic 在写摩洛巴斯 rtu 指令之前,咱们需要先在编程软件上面安装对应的摩洛巴斯 rtu 的指定库啊,那么我这里呃已经安装完了这个摩洛巴斯 rtu 的指定库对应的摩洛巴斯马斯特、破特林跟破特一啊, 那么这个指令库咱们可以在呃西门子官网对应的西门子工业支持中心官方技术文档西门子标准指令库这里找 到这一个摩罗巴斯 rtm 主战通讯协议库,这一个指定库咱们安装完之后才可以调用这一个程序块,那么在他的呃这个通讯协议库里面,在他的网页这 下方有一个对应的摩托吧斯 rtu 主战指定库的应用历程。那么我们如何最快速的上手做这个摩托吧斯 rtu 主战通讯呢?当然是看别人的通讯历程去学习, 这样子最快,对不对?那么咱可以把这个通讯历程下载下来,直接用他的历程来学习,然后如何学习,如何做我们的 boss rtu 主教。那么这个程序下载进来之后,咱们打开之后 可以看到他的程序啊,第一个,首先第一个扫描就是先复位掉所有的标志位,对不对啊?然后在网络二当中是一个初始化摩洛巴斯主战通讯的一个程序块,那么 这个程序块当中每一个呃接口是什么意思?他自己都标明的非常详细。那么第一个接口,也就是说他要访问的对应的成长的呃波特率是多是多少?我们的这个 l 采集模 是九千六八一的同样参数,所以咱们这里是填的九六零零。然后这一个第二个接口是一个呃胶原位,咱们填零就是无胶原, 那么呃他的呃在 s 七两百做摩洛爸斯通讯的时候,他的默认的数据位是八,呃停止位是一,这个是默认的,这个没有办法改变啊。然后最后一个接口是一个,呃同战超时响应时间啊,然后这个呃,嗯, 初始化摩洛巴斯通讯,呃程序快执行完成之后,这个标志位会自一自一之后咱们再将这一个呃标志位再执行一个读写操作,那么这个执读行,呃,执行这个读写操作自一之后,他又去到了 执行这一个读取重降的一个程序块啊,那么这个程序快呃得电之后啊,就开始访问,呃他对应的呃重降啊,那么这个程序快, 他的第一个接口就是访问对应的从账账号,我们还有采集模块是一号账,所以填的是咱们自己要改成一。好,改成一之后 啊,咱们再看这个程序执行完成之后, m 零点三得电, m 零点三得电,咱们可以看一下 m 零点三得电之后再呃计数器加一这个西零计数器,那么加一之后再执行他这一个读模式,然后当他等于二的时候读呃执行这一个写操作。 好,我们这个 l 采集模块身上有十六路开关量输入,十六路开关量输出,所以我们既要读他的开关量输入,也要写他的开关量输出啊,那他这两个读操作跟写操作,这两个是在人行执行的,他的他的一个人行机制好,在 程序的下面这里啊,他做了一个呃轮巡。好,那么首先我们先要改一下呃他这个历程当中, 呃对应的程序好,当他等于一的时候执行这个读模式。好,呃,我们现在看他的第一个程序 v b 八零幺,看一下对应的什么意思 好? vb 八零幺是一个呃读写模式,那么我们现在要读开关量输入,所以第一个应该是填零。好,第二个 v b 八零二,那么 v b 八零二就是他的一个读的 起始地址。 addr 是读的对应成长点数的起始地址,那么我们知道我们这个模块他的开关量输入的起始地址,他是一万零一,对不对? 一万零一,那么这一个 vw 八零六对应的意思就是 vw 八零六啊,对应的就是读的呃地址的个数是多少?我们是十六路开关量输入,所以这里要填十六啊。好,最后一个 vd 八零八的意思就是啊,咱们 看一下 a d 八零八啊,就是呃读写的一个指针的地址,好,咱们看一下,往上滑,看到程序, 那么这个 v d 八零八啊,把 v b 一千传给啊 v d 八零八啊,也就是说我当,我把我当前呃读回来的数据保存在 ps 的呃, v b 一千这里面。 好,那么我们第二步执行写模式,那么写模式的时候,同样的呃,等于 b b 八零幺,等于一的时候是写模式,那么要写的起始地址啊,这个 io 谋害他的起始地址开关量输出是一啊,十六录啊录,所以这里 v w 八零六,他应该是十六, 十六啊,咱们指针的地址啊,这里他把它保存到啊 vb 一一千一百哈, 那咱们这样子程序就已经改好了。好,我们把它下进 ps, 生气就不要和虎抗转了,搜索到威武山大国明后,等这帮女王再说对和也没有找到后,两人交换完毕后,继续命令手下上山搜找罗虎抗反伤王子先占据了和虎抗的套路,打算停留下来继续寻找他在地道中的和虎抗发现了, 好,成功下载进 poc 之后,那么咱们再去看一下他对应的呃读写对应的指针的地址, 那我们监控一下对应的 vb 一千呃,跟 vb 呃,一千一百这两个地其实的地址。好,那我们访问的是开关量十六路,呃,十六路和十六路出的一个模块,那么十六他对应的是 一个字,对不对?一个字节等于八个位,那么开关量输入输出,呃,一个输入点,一个输出点,他就是占一个位啊,所以十六个,那么就是十六位啊,对不对?那么一个字节咱们知道等于八个位啊,那么一个字等于两个字节啊,也就说等于十六位啊,一个字,所以咱们要监控的 起始地址啊,应该是啊, bw 应该是一个字,所以这里监控咱们 bw 一千跟 vw 一千一百,对不对? 好,我写错了,一千一百 好点,监控好,那么读回来的数据他就会保存在 vw 一千里面。好,我们给 vw 一千一百这个负负值的话,那么就会写到对应的这个 l 模 快身上。好,我们可以给他写一个十六全部制一啊, f f 十六进制, ff 写进去之后,那么他对应的这个 l 采集模块,他对应的开关量输出就会全部质疑,所以说 poc 现在跟这个采集模块他是通讯上的,同样的,我们给这个采集模块给他输入信号,随便给一个,他也会在 poc 上面啊, 对应的计程器当中啊, v w 一千里面读出来啊,咱们可以看到现在读出来是二零四八,说明 pic 现在已经将这个开关量采集模块的数据已经读上来了。那么我们的二六 x p 如何作为摩托 boss rtu 主要的分享就到这里啊,大家学会了吗?

大家好,这个视频给大家讲解一下 s 七通信的指令 get 和 put 这两条指令。 get 这条指令首先它的这个 i 扣就是它的出发条件,这个出发条件多用 m 零点零, 因为它是上升研出发这个 id 的话,它其实就是 s 七的 id, 你这个新建的时候,哎,比如说我们组态的时候,你这里建了 s 七连接 id 一,那我们这一个就是 wg 十六进一百。如果说你新建了一个 s 七连接二, 那这个时候那就是 e w g 十六 g 幺零幺,那依次去类推下面这个 addr。 杠一,那这个是伙伴的地址,就是你从哪里读取过来,这个就是从站的地址,这个 rd 杠一是主站的地址,就是读取 读起来放到哪里,那我们就是在这个地方去输你的地址就行了,这一个是他的一个输出的一个状态,那输出状态我们定义的时候可以不用定义,也可 可以,那这个是 get 读取指令,那我们来看一下 put 这条指令,那 put 这条指令其实跟 get 这条指令差不多。首先 i q 它也是出发条件 id, 跟 get 这条的 id 是一样的,这个 id dr 杠一是伙伴的地址,就是写入到哪里去存在的地址,然后这个 sd 杠一这个是主站的地址,就是从哪里写入过去,这个输出我们也是一样,可以不用第一。

西门子 s 七协议采集数据上报 tcp 服务器案例讲解本案例以 eg 八千 mini 采集西门子 s 七两百 smart 数据为例,将 plc 和网关连接之后,进入网关的可视化编程界面。 首先添加 s 七读数据,节点可从 s 七协议的 plc 内部读取数据,然后配置 plc 参数, 填写 plc 通信的 ip 地址和端口号。模式一般选择 rexloud, 根据 plc 参数填写机架号和曹号即可。 而 s 七两百 smart 则需要选择 tsap 模式,本地 tsap 填写十点零二,远端 tsap 填写零三点零幺, 采集周期和超市时间可根据需求填写。接着我们进行电量配置, 填写变量地址和变量名称。这里我们演示采集 plc dbe 数据块中的数据。由于节点中的变量地址描述和 stapped 期有一些不同,我们可以参考帮助中的视力进行设置。 第一个计算器地址 vb, 实为 bide 型,根据参考视力在节点中填入的变量地址则为 db 一 b 十, 变量名称可自定义。第二个计存器地址 vb 十一,同理,在节点中填入的变量地址则为 db 一 b 十一。 第三个计算器地址 vw 一百,为 word 行,根据参考视力在节点中填入的变量地址则为 dbaw 一百。 第四个计存器地址 vw 幺零二,同理,在节点中填入的变量地址则为 db 一 w 幺零二。 第五个寄存器地址 vd 一千,为 w 的型, 根据参考视力在节点中填入的变量地址则为 db 一 dw 一千。 第六个计存器地址 vd 幺零零四,同理,在节点中填入的变量地址则为 db 一 dw 幺零零四, 至此,所有变量就已配置完成。添加后继续设置数据读取模式,这里提供了三种模式,可根据需求选择,选择单个变量模式,然后设置需要输出的变量,当变量值变化时才输出,可根据需求勾选。 接着添加调试节点,查看 plc 数据是否读取成功。 部署后,在调试窗口可以看到变量 data 零三的数据已经读取成功。接着我们更改读取模式,为所有变量每个变量输出一条, 部署后并清空日滞。在调试窗口可以看到所有变量都单独输出成功。 接着我们再更改读取模式,为所有变量输出一条,部署后并清空日志。在调试窗口可以看到所有变量都合并为一条消息,输出成功。 然后添加函数计算节点,将数据 jason 格式化,这里可根据需求写入对应的 javascraft 代码。 这时我们再次连接调试节点,查看数据是否格式化成功。再调 调试窗口可以看到数据已经格式化成功。 最后添加 tcpl 的节点,配置 tcp 服务器信息并上报数据。 这里我们通过安信可透传云进行测试,复制 ip 地址及端口号,填入节点对应的参数框中。 部署后,在安信可透传云页面可以看到数据已经成功上报。 eg 新系列通信无边界了解更多详情欢迎前来咨询哦!

尚未及开发通信应该算是最难的,不同协议的 prc 之间进行数据交换确实是件头痛的事情, 好在现在 prc 绝大多数都支持摩托巴士通讯,我们可以将不同协议的 prc 统一转换成摩托巴士 tcp 协议,通过一台摩托巴士服务器,然后提供给主态界面以及其他的一些上文机软件来访问。首先我们点开这个摩托巴士服务器配置, 点击添加,把你公共机的 ip 地址填到这里, 短口号摸 五零二三维基主态界面以及其他的三维基软件都可以同时访问这个 app 地址和端口号,不会像其他的 prc 软件一样,只可以同时访问一个端口号。添 加账号和数据块,点击添加数据块,总共是三十二个,意思就是有三十二个设备,数据块可以理解成摩托巴士的重粘设备。有多少个账号我们这里就使用。一,我们可以在相同 ip 地址统一端口下添加 n 个数据块和账号, 我们这里就使用一个点击确定再确定,然后点击通讯配置,我们这里添加三个 prc, 第一个我们就去连刚才我们配置的那个摩托巴士服务器,虽然他在同一个软件上,在主态界面上我们仍然也是可以访问他的,同 时还可以提供给其他的上危机访问。点击双击这个地方就填摩托巴士服务器的 ip, 我们这里使用直接地址点击确定。 另外一台我们选用松下的 prc 协议幺幺,还有一个选择西门子的 s t 协议, ip 地址改成五零好,这里就有了三个连接,一个是摩托巴士服务器的连接, 还有另外两个是 prc 的连接,我们这里是通过访问第一个连接 modelis 服务器的连接,然后通过他间接的访问另外两台 prc 的数据。先点击确定, 点击协议网关啊,这里面是我已经添加好的,我们看一下。左边是第一个连接的 prc 数据继承器的第一个地址绑定的是第二台设备的松下的 prc 的低七零,然后另外一个数据继承器的地址是访问的西门子 prc 的 db 一点零,这个设备边 号应该改成二, 这是第三的一个连接,这个地方我不详细讲解,大家可以去看,上一节课。好,先关闭它,然后从工具箱里面拿出一个数据显示器监控地址,填第一个数据计算器的地址, 然后复制一份,这个是第二个数据计算器的地址。 下面我们只要访问这两个地址,就能分别访问两台 prc 的数据。我们先启动运行。好,现在看一下。上面是松下的 prc 编程软件,下面是西门子 prc 的编程软件, 我们现在修改第一个 prc 地址的值。好,从下 prc 这边改, 我再修改另外一个。好,西门子这边改变了,这样我们就实现了通过一台摩托巴士服务器来访问不同协议的 prc。

ppi 协议是西门子 s 七杠两百专用的通信协议, cpu 自带的两个通信口, s 七杠二百的一些通信模块均制式该协议。 ppi 是一种主从协议,并不开放 cpu, 既可以做主战,又可以做从战。主战靠 ppi 协议管理与从战通讯所有的通信程序运行在主 cpu 上,从战设备不需要专门的通信代码,根据主战的请求做出对应响应,实现 cpu 之间的数据交换。采用 ppi 协议可以构成由单主战多从战构成的简单 ppi 网络,也能设置多个主战和若干从战构成的复杂通信网络,但主战数量一般不超过三十二个。关注我,学习更多知识!