Durch die Kapselung der Disziplinkomponenten und die Verwendung von Schnittstellenparametern werden alle Formeln fehlschlagen.
Formeln für Komponente M_WiringDiagram umstellen
- Öffnen Sie die Komponente M_WiringDiagram.
- Wechseln Sie zur Editorseite Parameter.
- Geben Sie für den Parameter Plant den folgenden Wert ein:
=mc.$Plant
- Speichern Sie die Komponente.
Die Formel =mc.$Plant bedingt, dass in der übergeordneten Komponente, also der Komponente Feeder ein Parameter Plant vorhanden ist und einen passenden Wert liefert. Dieser Parameter muss noch in Feeder eingefügt und mit einem Wert belegt werden.
Parameter Plant erstellen und in Feeder einfügen
- Markieren Sie die Unit Parameter.
- Wählen Sie aus dem Kontextmenü Neu > Parameter.
- Geben Sie den Namen Plant an.
- Geben Sie den Typ String an.
- Speichern Sie den Parameter.
Fügen Sie den Parameter Plant in die Komponente Feeder ein.
- Öffnen Sie die Komponente Feeder.
- Öffnen Sie die Editorseite Parameter.
- Ziehen Sie den Parameter Plant von der Unit Parameter in die Editorseite.
- Geben Sie als Wert die Formel ='Feeder' an.
- Speichern Sie die Komponente.
Formeln für Komponente M_SchematicPage umstellen
- Öffnen Sie die Komponente M_SchematicPage.
- Wechseln Sie zur Editorseite Parameter.
- Geben Sie folgende Werte für die Parameter ein:
Name | Wert |
---|---|
Functiontext1 | =if (mroot.mos('ISensor',4).size > $PageNo * 8 + 0) then mroot.mos('ISensor',4).at($PageNo * 8 + 0).$Functiontext else '' endif |
Functiontext2 | =if (mroot.mos('ISensor',4).size > $PageNo * 8 + 1) then mroot.mos('ISensor',4).at($PageNo * 8 + 1).$Functiontext else '' endif |
Functiontext3 | =if (mroot.mos('ISensor',4).size > $PageNo * 8 + 2) then mroot.mos('ISensor',4).at($PageNo * 8 + 2).$Functiontext else '' endif |
Functiontext4 | =if (mroot.mos('ISensor',4).size > $PageNo * 8 + 3) then mroot.mos('ISensor',4).at($PageNo * 8 + 3).$Functiontext else '' endif |
Functiontext5 | =if (mroot.mos('ISensor',4).size > $PageNo * 8 + 4) then mroot.mos('ISensor',4).at($PageNo * 8 + 4).$Functiontext else '' endif |
Functiontext6 | =if (mroot.mos('ISensor',4).size > $PageNo * 8 + 5) then mroot.mos('ISensor',4).at($PageNo * 8 + 5).$Functiontext else '' endif |
Functiontext7 | =if (mroot.mos('ISensor',4).size > $PageNo * 8 + 6) then mroot.mos('ISensor',4).at($PageNo * 8 + 6).$Functiontext else '' endif |
Functiontext8 | =if (mroot.mos('ISensor',4).size > $PageNo * 8 + 7) then mroot.mos('ISensor',4).at($PageNo * 8 + 7).$Functiontext else '' endif |
Input1 | ='I' + $PageNo + '.0' |
Input2 | ='I' + $PageNo + '.1' |
Input3 | ='I' + $PageNo + '.2' |
Input4 | ='I' + $PageNo + '.3' |
Input5 | ='I' + $PageNo + '.4' |
Input6 | ='I' + $PageNo + '.5' |
Input7 | ='I' + $PageNo + '.6' |
Input8 | ='I' + $PageNo + '.7' |
PageDescription | ='PLC_Sensors_' + ((($PageNo + 1) * 8) - 7) + '_' + (($PageNo + 1) * 8) |
PageNo | =mc.mos('ISchematicPage').indexOf(this) |
Plant | =mc.$Plant |
- Speichern Sie die Komponente.
Formeln für Komponenten M_Sensor_Inductive, M_Sensor_optical und, M_Sensor_Pressure umstellen
- Öffnen Sie die Komponente M_Sensor_Inductive.
- Wechseln Sie zur Editorseite Parameter.
- Geben Sie folgende Werte für die Parameter ein:
Name | Wert |
---|---|
DT | ='S' + ($Sensors.indexOf(origin.ifNull(this))+1) |
Functiontext | =mc.absoluteName.substring(mroot.absoluteName.size+1, mc.absoluteName.size - 1).replaceAll('\\.',' ') |
IP | ='I' + (mroot.mos('ISensor',4).indexOf(this) / 8) + '.' + mroot.mos('ISensor',4).indexOf(this).mod(8) |
Sensors | =mroot.rmos('T_ECAD_P8.ECAD.PLC_Inputs.abstract_Sensor') |
- Speichern Sie die Komponente.
- Wiederholen Sie die Schritte 1 bis 4 für die Komponenten M_Sensor_optical und M_Sensor_Pressure.