/** * <summary> * Retrieves a digital IO port for a given identifier in a YAPI context. * <para> * The identifier can be specified using several formats: * </para> * <para> * </para> * <para> * - FunctionLogicalName * </para> * <para> * - ModuleSerialNumber.FunctionIdentifier * </para> * <para> * - ModuleSerialNumber.FunctionLogicalName * </para> * <para> * - ModuleLogicalName.FunctionIdentifier * </para> * <para> * - ModuleLogicalName.FunctionLogicalName * </para> * <para> * </para> * <para> * This function does not require that the digital IO port is online at the time * it is invoked. The returned object is nevertheless valid. * Use the method <c>YDigitalIO.isOnline()</c> to test if the digital IO port is * indeed online at a given time. In case of ambiguity when looking for * a digital IO port by logical name, no error is notified: the first instance * found is returned. The search is performed first by hardware name, * then by logical name. * </para> * </summary> * <param name="yctx"> * a YAPI context * </param> * <param name="func"> * a string that uniquely characterizes the digital IO port, for instance * <c>YMINIIO0.digitalIO</c>. * </param> * <returns> * a <c>YDigitalIO</c> object allowing you to drive the digital IO port. * </returns> */ public static YDigitalIO FindDigitalIOInContext(YAPIContext yctx, string func) { YDigitalIO obj; obj = (YDigitalIO)YFunction._FindFromCacheInContext(yctx, "DigitalIO", func); if (obj == null) { obj = new YDigitalIO(yctx, func); YFunction._AddToCache("DigitalIO", func, obj); } return(obj); }
/** * <summary> * Retrieves a digital IO port for a given identifier. * <para> * The identifier can be specified using several formats: * </para> * <para> * </para> * <para> * - FunctionLogicalName * </para> * <para> * - ModuleSerialNumber.FunctionIdentifier * </para> * <para> * - ModuleSerialNumber.FunctionLogicalName * </para> * <para> * - ModuleLogicalName.FunctionIdentifier * </para> * <para> * - ModuleLogicalName.FunctionLogicalName * </para> * <para> * </para> * <para> * This function does not require that the digital IO port is online at the time * it is invoked. The returned object is nevertheless valid. * Use the method <c>YDigitalIO.isOnline()</c> to test if the digital IO port is * indeed online at a given time. In case of ambiguity when looking for * a digital IO port by logical name, no error is notified: the first instance * found is returned. The search is performed first by hardware name, * then by logical name. * </para> * <para> * If a call to this object's is_online() method returns FALSE although * you are certain that the matching device is plugged, make sure that you did * call registerHub() at application initialization time. * </para> * <para> * </para> * </summary> * <param name="func"> * a string that uniquely characterizes the digital IO port, for instance * <c>YMINIIO0.digitalIO</c>. * </param> * <returns> * a <c>YDigitalIO</c> object allowing you to drive the digital IO port. * </returns> */ public static YDigitalIO FindDigitalIO(string func) { YDigitalIO obj; obj = (YDigitalIO)YFunction._FindFromCache("DigitalIO", func); if (obj == null) { obj = new YDigitalIO(func); YFunction._AddToCache("DigitalIO", func, obj); } return(obj); }