<< 向前        下一页 >>

ID : 6831

Cao对象

Cao对象是管理插件生成与撤销所需的对象。
Cao对象属于ORiN2的CaoWorkspace对象。

“Cao”与“gCao”

在PacScript语言中,与Cao对象相同的型号(CaoWorkspace)有“Cao”和“gCao”2个。
上图表示PacScript语言中的“Cao”与“gCao”的关系。
“Cao”是只在任务(程序)内局部存在的一个内置对象,而“gCao”作为一个全局对象,存在于任务外。
不同任务的“Cao”彼此不相干,而“gCao”即使任务不同,参照相同对象(gCao[n]的n相同时)时也会彼此影响。

对象的生成与撤销

Cao对象以PacScript的任务为单位被独立管理。在任务即将开始执行前生成,在任务结束后自动撤销。
在任务执行中被Cao对象生成的插件在任务结束的同时被自动舍弃。
被Cao对象管理的插件在任务停止时执行“插件取消请求(ProviderCancel)”,取消执行中的处理。另外,在任务开始时执行“插件清空请求(ProviderClear)”,擦除取消插件。

相关指令

指令名称 功能
Cao.AddController 生成插件。
Cao.Index 参照插件的编号。
Cao.Name 参照插件名称。
Cao.Controllers 参照管理下的控制器对象(Collection)。

应用示例

'Pro1.pcs
Sub Main
  PrintDbg "Cao.Name = " & Cao.Name
  PrintDbg "Cao.Index = " & Cao.Index

  ' 连接到外部IP=192.168.0.1的控制器
  Call Cao.AddController("RC1", "CaoProv.DENSO.RC8", "", "Conn=eth:192.168.0.1")
  ' 连接到外部IP=192.168.0.2的控制器
  Call Cao.AddController("RC2", "CaoProv.DENSO.RC8", "", "Conn=eth:192.168.0.2")
  
  ' 显示添加到Cao.Controllers中的对象数
  PrintDbg "Cao.Controllers.Count = " & Cao.Controllers.Count()
  
  '清空"RC1"(=外部IP=192.168.0.1的控制器)的错误
  Call Cao.Controllers("RC1").Execute("ClearError" )
  '清空"RC2"(=外部IP=192.168.0.2的控制器)的错误
  Call Cao.Controllers("RC2").Execute("ClearError" )
 
End Sub

ID : 6831

<< 向前        下一页 >>