PLC基于PC的控制(odk).ppt
,基于PC的控制关于SIMATIC WinAC,Automation and Drives,ODK,没有 ODK:通过 ActiveX 或者 OPC接口“松散”的集成,集成 ODK:可看作为 WinAC扫描周期的一部分,用 SIMATIC WinAC ODK 集成,ODK,什么是 WinAC ODK?,WinAC ODK 是将C/C+集成到WinAC软件和 插槽式PLC的工程软件包WinAC软件和插槽式PLC运行界面支持向导编程编程环境使用标准的 C/C+语言除了 AWL,SCL 等,C/C+代码还可以在 WinAC 外部执行,ODKV4.1,Microsoft Visual Studio,应用特定功能的开放式集成,ODK,WinAC ODK 运行环境,WinAC ODK 中包含:建立CCX和SMX代码原则的应用向导主要文件+项目示例文件所需软件:WinAC Basis/RTX V4.1 或WinAC Slot V3.4WinAC ODK V4.1Visual Developers Studio 或Visual Developers S 2003实时应用的附加工具VenturCom SDK授权为工程系统的单一授权不需要西门子运行授权的要求,ODK,ODK接口概述,WinAC 软件,WinAC 插槽,ODK,ODK Programmiersprachen,向导,ODK,CCX 接口提供了直接从WinAC PLC软件的PLC程序中调用 C/C+的功能,CCX 应用作为DLL 或 实时 DLL 编译(VenturCom RTX是RTDLL).使系统层和有严格时间要求的应用最优化 C/C+应用程序在Windows/CVI RTX 中:访问驱动器访问 OS-APIs访问资源,CCX:用户定制代码扩展接口,CCX,CCX,异步处理器:C代码从PLC 开始启动,在后台处理和完成,同步处理器:C代码作为PLC程序的一部分来执行(说明),PLC Scan OB 1,S7-CODE,S7-CODE,C+CODE,S7-CODE,C+CODE,1,C+CODE,OB 1,OB 1,OB 1,OB 1,.,Start Object,2,监控线程:C代码持续的 运行,通过消息事件通讯,OB 1,OB 1,OB 1,OB 1,.,C+CODE,StartObject,3,Event,执行模式,Event,Event,Event,CCX,SIMATIC WIN AC,Windows/VenturCom,SFB 65002HandleCommandInput P#Output P#Status,DB xInputData for Object,DB yOutputData from Object,命令,访问 SFB,OB 101,OB 102,SFB 65001ProgIDStatus(Handle),访问 SFB,初始化,OB 1,执行,C+ObjectSwitch Command.ReadInput().WriteOutput().,初始化对象,指示器,指示器,WinAC ODK 结构,处理,CCX,SIMATIC WinAC,Windows/VenturCom,OB 52,CCX 功能:WinAC ODK 事件处理,C+ObjectScheduleOB(OB52,AlarmInfo),OBs的典型应用:OB 52 54应用报警OB 40过程报警OB 84硬件故障报警(外界警报),OB 1,.,CCX,CCX,CCX 功能:获取过程数据,获取方法:直接读写操作(同步)循环读取请求(异步)操作数:P,PI(外围设备,过程映象)M(标记)DB(数据块),OB 1,OB 1,OB 1,OB 1,.,C+CODE,C+CODE,ODK_ReadData,ODK_WriteData,ODK_CreateCyclicRead ODK_StartCyclicRead.,CCX,Thread,CCX 功能:线程应用,对WinAC 建立具有相关优先级的线程较低优先级同等优先级较高优先级最高优先级,OS优先级,high,low,WinAC,ODKDLL,Thread,Thread,higher,equal,lower,ODK 建立线程,CCX,CCX 功能:读取 PLC 状态,读取 PLC 状态CCX应用与PLC软件的状态 同步进行:启动?运行模式?停止模式?.异步或监控程序的特定处理,S7-CODE,S7-CODE,C+CODE,ODK_ReadState,CCX,PC with Windows,VenturCom RTX,ODK 在 WinAC 中的应用,(WinLC RTX),Synch.Process(Thread),Synch.Process(Thread),A-Synch.Process(Thread),MonitoringProcess(Thread),作为Windows DLL 建立CCX应用作为实时DLL(RTDLL)建立CCX应用,WinACRTX(CPU-Proxy),WinACBasis(WinLC),A-Synch.Process(Thread),MonitoringProcess(Thread),CCX,CCX 应用实例,同步方式具有确定响应的快速算法:快速闭环算法调度算法异步方式缓慢或者不确定响应的功能:从串行接口等待读取数据文件访问与其他设备进行通讯(如:TCP 通讯)监控处理连续操作,如驱动系统总线设备和局部 I/O与其他控制 HW/SW 如l机器人控制,汽车控制等进行接口连接,CCX,CCX概要,从PLC 程序中快速调用C/C+代码CCX 程序作为 Windows 或 实时应用程序来运行(DLL 或 RTDLL)通过两个系统功能模块(SFB)来调用CCX 应用程序WinAC PLC 软件可同时运行多种 CCX 程序3 种执行模式:同步方式异步方式监控线程 CCX 接口的功能:启动 OBs获取过程数据读取 PLC 状态建立具有相关优先级的线程,CCX,SMX:共享存储器扩展接口,SMX接口通过共享存储器接口与WinAC之间进行简单快速的数据交换,WinAC 插槽式 PLC 使用双端口 RAM 来交换数据WinAC PLC 软件使用通用的共用内存区SMX 应用程序 在 Windows中运行,PC with Windows,C/C+Application,SMX,SMX,SMX,SMX 的通讯结构,The DPR has a size of 4 KB I/O(each):WinAC Slot 412:PIW 4096 to 8190POW 4096 to 8190WinAC Slot 416/Basis/RTXPIW 16384 to 20478POW 16384 to 20478,SMX,访问方法,示例:读取一个双字:这个方法从双端口RAM读取一个32位双字并且将其值以32位无符号整数的形式保存在参数值里。Err=ReadS7DWORD(CPU,ByteOffset,BIT32 Return value(Err):TRUE:successful FALSE:failed Parameter:CPUHandle for CPU(Multi PLC operation)Offset number of bytesin Dual-Port-RAMBIT32&Value:value of requested data,EFEF,SMX,SMX概要,在 S7 and C+之间快速简单的数据交换.C 程序不被 PLC 调用,但是可从外部访问DPR.这样避免影响PLC的循环PLC 和 SMX 应用不是同步进行的WinAC PLC软件:通过共用存储器进行数据交换WinAC 插槽式PLC:通过双端口RAM进行数据交换若从PC端访问,则通过快速简单的访问函数若从PLC端访问则通过L(load)/T(transit)操作示例:与第三方设备进行集成与数据库之间的高速数据交换.,SMX,CMI 界面支持应用特定 CPU 面板开发,比如:作为可视化应用的一部分.,设置 WinAC 的运行或停止状态跟踪 LED 并且诊断信息归档或下载PLC程序(归档/修复),CMI:控制器管理接口,PC with Windows,WindowsApplication,CMI,CMI,RUN,STOP,CMI,程序模式,使用STEP7的名称来建立到WinAC的连接从STEP7接收名称或:浏览可用的名称,Connect(Name),操作和事件驱动可视化函数调用操作变化通告由于其他客户机程序引起的变化通告,确定支持面板的特性:支持哪个LED?是否支持运行/停止?是否支持FMR?是否支持从文件夹装载程序?,DeterminesupportedPanel features,Operation,Visualization,?,?,?,Click!,CMI,接口方法,CMI特性供给者“,Browse()Connect(),GetFeature()SetFeature()RegisterForFeatureChange()UnregisterForFeatureChange()RegisterForConnectionCheck()UnregisterForConnectionCheck(),OnFeatureChanged()OnPLCDisconnect(),寻找 PLC 并建立连接,确定并设置 特性“,事件通告,示例(VB):Sub SetFeature(;Example Values:FeatureName As String,;KeySwitch“AttributeNames,;Value“AttributeValues,;RUN,STOP,.pErrorID As Long),CMI,CMI概要,应用示例:将面板的功能性集成可视化 Sub On_Button_Pressed()Set_WinAC_State(RUN)End Sub不需要用户控制就可通过其他的应用程序或设备来启动或停止WinCC的CPU:If Camera_Is_Operating Then Set_WinAC_State(RUN)自动反映故障Sub OnFeatureChanged(.)Send_Mail_to_Operator(O“,Panic!“)End Sub 自动加载PLC更新程序自动解释诊断信息执行远程面板应用程序,CMI,ODK 应用:DLLRTDLL,ODK 应用程序的设计,STEP7 Library(Example),FB Init,FB Param,FC Stop_Action,传递 ODK 应用给用户:,创建处理 FB/FC,使没有技能的操作人员也能简单明了的使用 ODK 应用程序。将这些FB/FC 收集保存到 STEP7 程序库,My ODK,Application,PC with Windows,VenturCom RTX,WinAC ODK,(WinLC RTX),WinACRTX(CPU-Proxy),3rd party RobotControl,Interface,Driver Parallel I/O,Driver 3rd partyField bus,COM Port(RS 232),HD,DataBase,Interface,Interface,Interface,Barcode Scanner,运行/停止,Application,PC-,basedControl 基于PC的综合平台解决方案,Automation and Drives,