6SL3060-4AA50-0AA0连接电缆
1 理解主从通讯
↓主从通讯方式
在工业控制过程中有时候一个cpu并不能完全满足现场的控制要求,这时cpu之间就可以采用主从的方式进行通讯,也就是一个cpu作为主站,其它cpu作为从站的通讯方式。
图1-1
图1-1所示在主从通讯过程中,所谓主从就是主站可以与每个从站直接通讯,下达命令接收反馈。从站与从站之间不能相互通讯,不能相互指挥。就像军队中长官可以指挥自己属下每个士兵,但是平级的士兵之间是不能相互控制指挥的。
↑映射的概念
图1-2
如图1-2所示在主站cpu与从站cpu通讯的过程中主站和从站都需要开辟一个存储区域进行数据的交换,这里我们称这个区域为映射区。
图1-3
如图1-3所示无论是主站的映射区还是从站映射区都分为输入映射区与输出映射区,通讯的过程是主站的数据由主站输出映射区发送到从站输入映射区,从站将从站数据由从站的输出映射区发送到主站的输入映射区。
图1-4
图1-4所示是整个数据交换过程的更加详细的演示,当输出映射区中某位由0变成1时与之对应的输入映射区中的位同时也会由0变成1。这里我们用主站输出映射区qb0与从站输入映射区ib0来进行具体讲解,当主站输出映射区中q0.0由0变成1时则从站输入映射区i0.0由0变成1这样就完成了由主站向从站发送1个位数据的过程。此处需要注意输入映射区与输出映射区分别占用的是i区与q区,所以当配置信号模块时,映射区已经使用的地址就不能再次被使用了。
2 硬件组态
其实在主从通讯的硬件组态中*重要的就是主从属性的设置,与映射区的配置,下面让我们来进行一次完整的主从通讯的配置。
1) 新建项目并插入2个300站点。
图2-1
2、 组态两个站点的硬件
图2-2
图2-3
3、设置主从属性
图2-4
图2-5
图2-6
图2-7
图2-8
4、配置映射区域
图2-9
图2-10
图2-11
能否为马达、阀门等功能块添加更多的状态,并在上位机上的block icon和faceplate中进行相应的显示?
答:可以,可以借助功能块的ustatus输入端来完成该功能。
pcs7库中的大部分功能块都有一个dword格式的“vstatus”输出管脚。该管脚包含了功能块当前各种状态信息(功能块在线帮助中详细解释了各位所代表的状态信息),通过相应的控件即可在上位机的画面上实时显示该功能块的各种状态。细心的人可能会发现,该管脚格式为32位的dword形式,而我们通过功能块的在线帮助却只能查询到vstatus的低16位的状态,那么高16位用来做什么用处的呢?
功能块有一个word格式的“ustatus”输入管脚,该管脚的注释是”status word in vstatus, can be configured user-specific”,也就是说ustatus是vstatus的一部分,可以用来进行用户自定义的状态输入,将其组合到vstatus中。如下图pic1所示,ustatus输入为16#1时,仿真motor回路的就地控制,输出vstatus为16#10200。ustatus被加入到vstatus的高16位中了。因此,通过ustatus输入管脚,我们可以为motor等功能块定制更多的状态。
pic1.motor回路ustatus示例
一般来说,我们通常使用某些功能块(motor,valve等)的vstatus状态返回值和智能图形对象”status display extend”来实现状态的上位机显示。 vstatus状态返回值是一个输出类型的32位状态字,其高16位为ustatus(数据类型为word)输入,低16位由相应的功能块类型决定。因此,当用户希望自定义的ustatus状态用status display extend功能显示出来时,只要知道其对应于vstatus的关系即可,ustatus的第一位对应vstatus的第17位,依此类推。
这里以motor块为例说明,我们希望给该电机一个现场就地/远程选择开关状态指示(1表示就地,0表示远程),此状态可由status display extend功能显示出来。 这里可以用ustatus*低位代表,用status display extend功能显示出来;当然,其它位的状态设置方法类似。
√首先明确,用户定义的ustatus为16#0001时,vstatus的第17位(bit16)就对应于该位且值为1。
√为观察该电机vstatus的值,打开对应的picture,其中self_motor/1块标识为上面cfc块1(motor块)经os编译自动生成的的block icon。
pic2.motor的上位机图标
√在其下方添加一个status display extend对象,用于显示该电机就地/远程状态。
√打开其config diaglog属性,在general中定义bit为from statusword1,bit no.为16。
pic3. 设置status display extended
√为该状态位定义相应图片,即:电机为就地操作状态时由索引1连接的图形表示;远程操作状态由索引0连接的图形表示,如pic4所示。
pic4.设置相应状态的显示图片
√同时在其图形属性组态中,将属性status1 与self_motor.vstatus 标签连接,见pic5。 其中该位为1,表示就地状态时显示;0,表示远程状态时显示。
pic5.关联status1和相应的vstatus
注:这里定做了两个图形文件localc.bmp和remote.bmp(存放在;\winproject\;\gracs录下),表示1,0两种位状态对应的本地/远程控制状态。
√检查测试结果,由图1知道vstatus为16#10200表示其第17位1(即:ustatus*低位的值);同时,参照前面给出的motor块vstatus低十六位定义表可知:低字16#0200表示qrun=1,qman_aut=0(手动),即:电机正以手动方式运行。
√运行该画面,该status display extend显示为1,表示该电机正处于就地状态,见pic6所示。
pic6.马达就地控制显示图标