# Casual Block Class from math import * from BaseBlock import * class CircleTest: def __init__(self, initParams={}): self.__initParams = initParams self.__blocks = [] self.fINT = TimeDelayBlock("fINT", "Integrator", 0.01) self.__blocks.append(self.fINT) self.ic2 = ConstantBlock("ic2", "Constant", 0.0) self.__blocks.append(self.ic2) self.sINT = TimeDelayBlock("sINT", "Integrator", 0.01) self.__blocks.append(self.sINT) self.ic3 = ConstantBlock("ic3", "Constant", 1.0) self.__blocks.append(self.ic3) self.CircleTestResult = BaseBlock("CircleTestResult", "Negator") self.__blocks.append(self.CircleTestResult) self.delta = ConstantBlock("delta", "Constant", 0.01) self.__blocks.append(self.delta) self.xtdt = BaseBlock("xtdt", "Product") self.__blocks.append(self.xtdt) self.yt_dt = TimeDelayBlock("yt_dt", "Delay", 0.01) self.__blocks.append(self.yt_dt) self.ic = ConstantBlock("ic", "Constant", 0.0) self.__blocks.append(self.ic) self.yt_dtPxtdt = BaseBlock("yt_dtPxtdt", "Adder") self.__blocks.append(self.yt_dtPxtdt) self.delta3 = ConstantBlock("delta3", "Constant", 0.01) self.__blocks.append(self.delta3) self.xtdt3 = BaseBlock("xtdt3", "Product") self.__blocks.append(self.xtdt3) self.yt_dt3 = TimeDelayBlock("yt_dt3", "Delay", 0.01) self.__blocks.append(self.yt_dt3) self.ic33 = ConstantBlock("ic33", "Constant", 1.0) self.__blocks.append(self.ic33) self.yt_dtPxtdt3 = BaseBlock("yt_dtPxtdt3", "Adder") self.__blocks.append(self.yt_dtPxtdt3) self.cb15 = BaseBlock("cb15", "Negator") self.__blocks.append(self.cb15) self.fINT.linksIN.append((self.ic2, "hcIC1", "")) self.fINT.linksIN.append((self.CircleTestResult, "s4", "")) self.fINT.IC = (self.ic2, "hcIC1", "") self.sINT.linksIN.append((self.fINT, "s99", "")) self.sINT.linksIN.append((self.ic3, "hcIC2", "")) self.sINT.IC = (self.ic3, "hcIC2", "") self.CircleTestResult.linksIN.append((self.sINT, "doubleInt", "")) self.xtdt.linksIN.append((self.delta, "s5", "")) self.xtdt.linksIN.append((self.cb15, "s17", "")) self.yt_dt.linksIN.append((self.ic, "s9", "")) self.yt_dt.linksIN.append((self.yt_dtPxtdt, "s17", "")) self.yt_dt.IC = (self.ic, "s9", "") self.yt_dtPxtdt.linksIN.append((self.xtdt, "s6", "")) self.yt_dtPxtdt.linksIN.append((self.yt_dt, "s9", "")) self.xtdt3.linksIN.append((self.delta3, "s5 311", "")) self.xtdt3.linksIN.append((self.yt_dt, "s15", "")) self.yt_dt3.linksIN.append((self.ic33, "s14", "")) self.yt_dt3.linksIN.append((self.yt_dtPxtdt3, "s17", "")) self.yt_dt3.IC = (self.ic33, "s14", "") self.yt_dtPxtdt3.linksIN.append((self.xtdt3, "s6 312", "")) self.yt_dtPxtdt3.linksIN.append((self.yt_dt3, "s9 315", "")) self.cb15.linksIN.append((self.yt_dt3, "s16", "")) for block in self.__blocks: if isinstance(block, ConstantBlock): if (self.__initParams.has_key(block.getBlockName()) == 1): block.setInitValue(self.__initParams[block.getBlockName()]) def getBlocks(self): return self.__blocks