山东省西门子授权总代理---淄博市西门子电机维修授权合作伙伴
- 供应商
- 广东湘恒智能科技有限公司
- 认证
- 西门子PLC
- 西门子伺服电机
- 西门子触摸屏
- 西门子电缆
- 西门子变频器
- 西门子模块
- 联系电话
- 13510737515
- 手机号
- 13185520415
- 联系人
- 董海波
- 所在地
- 惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)
- 更新时间
- 2024-05-10 07:00
3.3. 单边访问
可以通过sfb/fb 14 "get",从远程cpu 中读取数据。
s7-300:在req 的上升沿处读取数据。在req 的每个上升沿处传送参数id、addr_1和rd_1。在每个作业结束之后,可以分配新数值给id、addr_1和rd_1 参数。
s7-400:在控制输入req 的上升沿处启动sfb。在此过程中,将要读取的区域的相关指针(addr_i)发送到伙伴cpu。远程伙伴返回此数据。在下一个sfb/fb调用处,已接收的数据被复制到组态的接收区(rd_i)中。必须要参数addr_i和rd_i 定义的区域在长度和数据类型方面要相互匹配。
通过状态参数ndr 数值为1 来指示此作业已完成。只有在前一个作业已经完成之后,才能重新激活读作业。远程cpu可以处于run 或stop 工作状态。如果正在读取数据时发生访问故障,或如果数据类型检查过程中出错,则出错和警告信息将通过error和status输出表示。
通过使用sfb/fb 15 "put",可以将数据写入到远程cpu。
s7-300:在req 的上升沿处发送数据。在req 的每个上升沿处传送参数id、addr_1和sd_1。在每个作业结束之后,可以给id、addr_1和sd_1 参数分配新数值。
s7-400:在控制输入req 的上升沿处启动sfb。在此过程中,将指向要写入数据的区域(addr_i)的指针和数据(sd_i)发送到伙伴cpu。远程伙伴将所需要的数据保存在随数据一起提供的地址下面,并返回一个执行确认。必须要参数addr_i和sd_i 定义的区域在编号、长度和数据类型方面相互匹配。
如果没有产生任何错误,则在下一个sfb/fb 调用时,通过状态参数done 来指示,其数值为1。只有在后一个作业完成之后,才能再次激活写作业。远程cpu可以处于run或stop模式。如果正在写入数据时发生访问故障,或如果执行检查过程中出错,则出错和警告信息将通过error和status 输出表示。
打开simatic 315pn-1 的ob1,在ob1 中依次调用fb14,fb15 如图13、图14 所示:
同样,在simatic 315pn-2 的ob1 中,调用fb14/fb15。将simatic 315pn-2的mb140-mb149赋值b#16#06,在simatic 315pn-1 中,将fb14 的“req”置上升沿信号,此时simatic315pn-1 的mb150-mb159 接收到b#16#06。如图15 所示。
4. 常见问题
• 两个s7-300pn cpu 之间建立s7 连接可有哪些通信方式?
答:可以有确认连接、非确认连接、单边通信
• 使用fb8/9 时,数据已发送,程序块没有错误显示,但是没收到任何数据?
答:发送区与接收缓冲区长度不一致。
• 使用fb12/13 时,发送区与接收缓冲区长度是否必须一致?
答:发送区的大小只要不超过接收缓冲区就可以。
• fb12 发送数据时,发送数据的长度由哪个参数决定?
答:发送长度由 len 决定。但发送数据的起始地址和大长度由sd_1 决定。
上下层之间的通讯就是通过sap来完成的,osi/iso中对应的tcp/ip的模型中tsap对应的就端口(port),在s7300里面tsap由两个字节组成,第一字节是连接数,第二个字节是机架号和cp的槽号,如默认的 tsap 10.03的03表示是0号机架3号插槽,不知道我的解释是否清楚。
那plc与plc之间的通讯,tsap地址什么意思?通讯两端的plc建立的tsap地址用一样吗?这个地址号是系统自动生成的,不可修改.我如何改变这个地址号呢?
tsap(transport service access point) 传输服务访问点 。 在计算机网络当中,传输层要在用户之间提供可靠和有效的端-端(如tsap源端->[1]tsap目的端的传输选择)服务,必须把一个用户进程和其他的用户进程区分开,主要由传输地址来实现。 (目标用户需要这样的说明:用户标识、传输实体、主机地址和网络号码。)。这时,传输层需要定义一组传输地址,以供通信选用。传输地址用传输服务访问点(tasp)来描述。(为确保所有的传输地址在整个网络中是唯一的,传输地址规定由网络号、主机号以及主机分配的端口组成。)在层次地址构成中,一个实际的例子就是在internet用<ip地址><端口号>表示tsap。比如在telnet的tsap是中ip地址,端口23),应用层的进程始终处于监听状态,其属于静态分配tsap。
tsap,包含两个字节,第一个字节标识访问的资源,01是pg,02是op,03是s7单边(服务器模式),10(hex)及以上是s7双边通讯。第二个字节是访问点,可能是cpu的槽号,cp的槽号等等。
在网络中,传输层服务访问点是开放系统模型中ip地址机制的一部分。它在会话层和网络层之间识别网络服务接入点(tsap)。tsap是网络地址的一部分,它用来标识主机上哪一个应用程序在接收或者发送这些分组。
展开全文