西门子S120连接电缆6SL3060-4AB40-0AA0
在pcs7的cfc中,有一个w_bo和一个dw_bo的功能块,十分方便,直接输入连接的状态字,输出便会列出bit0——bit15的值,这在做dp通讯时经常用过,比如控制,它的状态常常是在一个字取某位,如运行信号、备妥信号等。
今天在一个老cpu中,也用到dp了通讯,要在一个双字中取某位显示状态,不支持用cfc编程,所以无法傻瓜式的取到了,只能手工指定其中的bit位了。这时竟然字中高字节与低字节的对应关系,自己把自己晕了半天,后来回顾了下,终于搞明白了,看来傻瓜的编程方式是把自己弄得更傻瓜!呵呵
直接上两个图吧,是关于双字、字、字节、位之间的关系的,看看便明白了!
一定要注意高8位与低8位与字的对应关系!
图1:字、字节、位之间的关系
图2:双字、字、字节、位之间的关系
一、 填写工艺需要的工艺参数
二、打开数据视图
三、把初始值写给实际值
点击“是”,则把初始值传给实际值。
db块的初始化数据主要用在报警值、运行参数相关较多,且变化不大的场合,用这种方法可避免程序重新下载时数据丢失。
备注:以上步骤操作,无需在线即可
这里我们使用cp342-5做从站和s7-300进行dprofibus-dp通讯。
分别建立两个300的站点:
下面我们开始对cp 342-5智能从站进行硬件组态:
在硬件组态页面组态机架,cpu,组态cpu的时候不用建立profibus网络
从站组态完成,保存编译
下面开始进行对主站的组态:
在硬件组态页面组态机架,cpu,连接从站建立的profibus(1)网络
下面我们给主站profibus网络中组态的cp342-5分配i/o
从上面的地址我们可以知道,在主站中cp342-5的输入是ib22-ib53,
输出是。这里的ib22-ib53, 没有实际的物理点,在主站编程的时候可以直接的使用,在从站编程的时候需要使用fc1,fc2进行映射,下面我们进行说明fc1,fc2的编程。
打开从站,在ob1或者ob35内进行编程:
上图中的意思是将主站的(共32个字节)映射到从站的mb10为开始的10个字节中去
上图中的意思是将主站的ib256-ib271(共32个字节)映射到从站的mb50为开始的10个字节中去
关于fc1,fc2中cpladrr起始地址的解释:
打开从站的硬件组态页面
特别提示:为了防止发生错误到时cpu停机,建议在程序内添加ob82,ob85,ob86,ob122
ob82:诊断中断,如果使能一个具有诊断中断模块的诊断功能(例如断线、丢失),出现故障时调用ob82,如果程序中没有创建ob82,cpu进入停止模式。诊断中断还对cpu所有内外部故障,包括模块前连接器拔出、硬件中断丢失等作出响应。
ob85:用于处理操作系统访问模块故障、更新过程映像区时i/o访问故障、事件触发但相应的ob没有下载到cpu等事件,事件出现,cpu自动调用ob85报错,如果程序中没创建ob85,cpu进入停止模式。
ob86:用于处理扩展机架(不适用于s7-300系列)、profibus-dp主站、profibus-dp或profinet i/o分布i/o系统中站点故障等事件,事件出现,cpu自动调用ob86报错,如果程序中没有创建,cpu进入停止模式。
ob122处理与i/o地址访问故障有关的事件,例如访问一个i/o模块时,出现读故障等。如果上述故障出现,在程序中没有创建ob121、ob122,cp进入停止模式