Skip to content
Snippets Groups Projects
Commit 1ee9fc23 authored by Julian Grothoff's avatar Julian Grothoff
Browse files

Added ACPLT/RTE for process control of realtime PTS simulation.

parent 58d15c43
Branches
Tags
No related merge requests found
Showing
with 3449 additions and 0 deletions
<?xml version="1.0" encoding="utf-8"?>
<iomapping shm="Hilt3DShm" size="904">
<ioelement name="CoilBooking.CoilBooking.BookIn" direction="FromSHM" type="bool" size="4" unit="none" signal="0" />
<ioelement name="CoilBooking.CoilBooking.BookOut" direction="FromSHM" type="bool" size="4" unit="none" signal="1" />
<ioelement name="CoilBooking.CoilBooking.CoilID" direction="FromSHM" type="string" size="16" unit="none" signal="2" />
<ioelement name="CoilBooking.CoilBooking.CoilNumber" direction="FromSHM" type="int" size="4" unit="none" signal="6" />
<ioelement name="CoilBooking.CoilBooking.ID1" direction="FromSHM" type="int" size="4" unit="none" signal="7" />
<ioelement name="CoilBooking.CoilBooking.ID2" direction="FromSHM" type="int" size="4" unit="none" signal="8" />
<ioelement name="CoilBooking.CoilBooking.ID3" direction="FromSHM" type="int" size="4" unit="none" signal="9" />
<ioelement name="CoilBooking.CoilBooking.ID4" direction="FromSHM" type="int" size="4" unit="none" signal="10" />
<ioelement name="CoilBooking.CoilBooking.InnerDiameter" direction="FromSHM" type="real" size="4" unit="mm" signal="11" />
<ioelement name="CoilBooking.CoilBooking.MatCode" direction="FromSHM" type="int" size="4" unit="none" signal="12" />
<ioelement name="CoilBooking.CoilBooking.OuterDiameter" direction="FromSHM" type="real" size="4" unit="mm" signal="13" />
<ioelement name="CoilBooking.CoilBooking.Position" direction="FromSHM" type="string" size="16" unit="none" signal="14" />
<ioelement name="CoilBooking.CoilBooking.PositionIndex" direction="FromSHM" type="int" size="4" unit="none" signal="18" />
<ioelement name="CoilBooking.CoilBooking.SleeveType" direction="FromSHM" type="int" size="4" unit="none" signal="19" />
<ioelement name="CoilBooking.CoilBooking.StartCreationThickness" direction="FromSHM" type="real" size="4" unit="none" signal="20" />
<ioelement name="CoilBooking.CoilBooking.Temperature" direction="FromSHM" type="real" size="4" unit="none" signal="21" />
<ioelement name="CoilBooking.CoilBooking.Thickness" direction="FromSHM" type="real" size="4" unit="mm" signal="22" />
<ioelement name="CoilBooking.CoilBooking.Width" direction="FromSHM" type="real" size="4" unit="mm" signal="23" />
<ioelement name="CoilBooking.CoilBooking.WithSleeve" direction="FromSHM" type="bool" size="4" unit="none" signal="24" />
<ioelement name="Furnace.Coil_Furnace.ActTemperature" direction="ToSHM" type="real" size="4" unit="none" signal="25" />
<ioelement name="Furnace.Coil_Furnace.BurnerOn" direction="FromSHM" type="bool" size="4" unit="none" signal="26" />
<ioelement name="Furnace.Coil_Furnace.EntryDoorClose" direction="FromSHM" type="bool" size="4" unit="none" signal="27" />
<ioelement name="Furnace.Coil_Furnace.EntryDoorClosed" direction="ToSHM" type="bool" size="4" unit="none" signal="28" />
<ioelement name="Furnace.Coil_Furnace.EntryDoorOpen" direction="FromSHM" type="bool" size="4" unit="none" signal="29" />
<ioelement name="Furnace.Coil_Furnace.EntryDoorOpened" direction="ToSHM" type="bool" size="4" unit="none" signal="30" />
<ioelement name="Furnace.Coil_Furnace.ExitDoorClose" direction="FromSHM" type="bool" size="4" unit="none" signal="31" />
<ioelement name="Furnace.Coil_Furnace.ExitDoorClosed" direction="ToSHM" type="bool" size="4" unit="none" signal="32" />
<ioelement name="Furnace.Coil_Furnace.ExitDoorOpen" direction="FromSHM" type="bool" size="4" unit="none" signal="33" />
<ioelement name="Furnace.Coil_Furnace.ExitDoorOpened" direction="ToSHM" type="bool" size="4" unit="none" signal="34" />
<ioelement name="Furnace.Coil_Furnace.RefTemperature" direction="FromSHM" type="real" size="4" unit="none" signal="35" />
<ioelement name="PalletBooking.PalletBooking.BookIn" direction="FromSHM" type="bool" size="4" unit="none" signal="36" />
<ioelement name="PalletBooking.PalletBooking.BookOut" direction="FromSHM" type="bool" size="4" unit="none" signal="37" />
<ioelement name="PalletBooking.PalletBooking.PalletID" direction="FromSHM" type="string" size="16" unit="none" signal="38" />
<ioelement name="PalletBooking.PalletBooking.PalletNumber" direction="FromSHM" type="int" size="4" unit="none" signal="42" />
<ioelement name="PalletBooking.PalletBooking.Position" direction="FromSHM" type="string" size="16" unit="none" signal="43" />
<ioelement name="PalletBooking.PalletBooking.PositionIndex" direction="FromSHM" type="int" size="4" unit="none" signal="47" />
<ioelement name="PE004__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="48" />
<ioelement name="PE004__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="49" />
<ioelement name="PE004__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="50" />
<ioelement name="PE004__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="51" />
<ioelement name="PE004__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="52" />
<ioelement name="PE004__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="53" />
<ioelement name="PE004__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="54" />
<ioelement name="PE004__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="55" />
<ioelement name="PE005__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="56" />
<ioelement name="PE005__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="57" />
<ioelement name="PE005__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="58" />
<ioelement name="PE005__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="59" />
<ioelement name="PE005__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="60" />
<ioelement name="PE005__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="61" />
<ioelement name="PE005__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="62" />
<ioelement name="PE005__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="63" />
<ioelement name="PE008__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="64" />
<ioelement name="PE008__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="65" />
<ioelement name="PE008__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="66" />
<ioelement name="PE008__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="67" />
<ioelement name="PE008__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="68" />
<ioelement name="PE008__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="69" />
<ioelement name="PE008__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="70" />
<ioelement name="PE008__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="71" />
<ioelement name="PE009__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="72" />
<ioelement name="PE009__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="73" />
<ioelement name="PE009__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="74" />
<ioelement name="PE009__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="75" />
<ioelement name="PE009__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="76" />
<ioelement name="PE009__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="77" />
<ioelement name="PE009__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="78" />
<ioelement name="PE009__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="79" />
<ioelement name="PE010__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="80" />
<ioelement name="PE010__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="81" />
<ioelement name="PE010__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="82" />
<ioelement name="PE010__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="83" />
<ioelement name="PE010__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="84" />
<ioelement name="PE010__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="85" />
<ioelement name="PE010__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="86" />
<ioelement name="PE010__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="87" />
<ioelement name="PE011__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="88" />
<ioelement name="PE011__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="89" />
<ioelement name="PE011__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="90" />
<ioelement name="PE011__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="91" />
<ioelement name="PE011__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="92" />
<ioelement name="PE011__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="93" />
<ioelement name="PE011__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="94" />
<ioelement name="PE011__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="95" />
<ioelement name="PE013__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="96" />
<ioelement name="PE013__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="97" />
<ioelement name="PE013__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="98" />
<ioelement name="PE013__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="99" />
<ioelement name="PE013__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="100" />
<ioelement name="PE013__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="101" />
<ioelement name="PE013__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="102" />
<ioelement name="PE013__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="103" />
<ioelement name="PE016__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="104" />
<ioelement name="PE016__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="105" />
<ioelement name="PE016__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="106" />
<ioelement name="PE016__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="107" />
<ioelement name="PE016__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="108" />
<ioelement name="PE016__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="109" />
<ioelement name="PE016__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="110" />
<ioelement name="PE016__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="111" />
<ioelement name="PE018__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="112" />
<ioelement name="PE018__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="113" />
<ioelement name="PE018__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="114" />
<ioelement name="PE018__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="115" />
<ioelement name="PE018__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="116" />
<ioelement name="PE018__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="117" />
<ioelement name="PE018__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="118" />
<ioelement name="PE018__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="119" />
<ioelement name="PE019__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="120" />
<ioelement name="PE019__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="121" />
<ioelement name="PE019__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="122" />
<ioelement name="PE019__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="123" />
<ioelement name="PE019__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="124" />
<ioelement name="PE019__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="125" />
<ioelement name="PE019__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="126" />
<ioelement name="PE019__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="127" />
<ioelement name="PE021__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="128" />
<ioelement name="PE021__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="129" />
<ioelement name="PE021__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="130" />
<ioelement name="PE021__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="131" />
<ioelement name="PE021__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="132" />
<ioelement name="PE021__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="133" />
<ioelement name="PE021__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="134" />
<ioelement name="PE021__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="135" />
<ioelement name="PE025__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="136" />
<ioelement name="PE025__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="137" />
<ioelement name="PE025__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="138" />
<ioelement name="PE025__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="139" />
<ioelement name="PE025__MKL2.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="140" />
<ioelement name="PE025__MKL2.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="141" />
<ioelement name="PE025__MKL2.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="142" />
<ioelement name="PE025__MKL2.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="143" />
<ioelement name="PE025__MKL3.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="144" />
<ioelement name="PE025__MKL3.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="145" />
<ioelement name="PE025__MKL3.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="146" />
<ioelement name="PE025__MKL3.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="147" />
<ioelement name="PE025__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="148" />
<ioelement name="PE025__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="149" />
<ioelement name="PE025__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="150" />
<ioelement name="PE025__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="151" />
<ioelement name="PE025__SBE1.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="152" />
<ioelement name="PE025__SBE2.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="153" />
<ioelement name="PE025__SBE3.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="154" />
<ioelement name="PE025__BWL1.Encoder.Value" direction="ToSHM" type="bool" size="4" unit="none" signal="155" />
<ioelement name="PE026__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="156" />
<ioelement name="PE026__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="157" />
<ioelement name="PE026__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="158" />
<ioelement name="PE026__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="159" />
<ioelement name="PE026__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="160" />
<ioelement name="PE026__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="161" />
<ioelement name="PE026__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="162" />
<ioelement name="PE026__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="163" />
<ioelement name="PE027__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="164" />
<ioelement name="PE027__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="165" />
<ioelement name="PE027__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="166" />
<ioelement name="PE027__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="167" />
<ioelement name="PE027__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="168" />
<ioelement name="PE027__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="169" />
<ioelement name="PE027__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="170" />
<ioelement name="PE027__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="171" />
<ioelement name="PE028__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="172" />
<ioelement name="PE028__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="173" />
<ioelement name="PE028__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="174" />
<ioelement name="PE028__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="175" />
<ioelement name="PE028__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="176" />
<ioelement name="PE028__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="177" />
<ioelement name="PE028__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="178" />
<ioelement name="PE028__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="179" />
<ioelement name="PE030__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="180" />
<ioelement name="PE030__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="181" />
<ioelement name="PE030__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="182" />
<ioelement name="PE030__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="183" />
<ioelement name="PE030__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="184" />
<ioelement name="PE030__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="185" />
<ioelement name="PE030__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="186" />
<ioelement name="PE030__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="187" />
<ioelement name="PE031__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="188" />
<ioelement name="PE031__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="189" />
<ioelement name="PE031__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="190" />
<ioelement name="PE031__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="191" />
<ioelement name="PE031__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="192" />
<ioelement name="PE031__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="193" />
<ioelement name="PE031__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="194" />
<ioelement name="PE031__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="195" />
<ioelement name="PE033__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="196" />
<ioelement name="PE033__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="197" />
<ioelement name="PE033__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="198" />
<ioelement name="PE033__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="199" />
<ioelement name="PE033__MKL2.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="200" />
<ioelement name="PE033__MKL2.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="201" />
<ioelement name="PE033__MKL2.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="202" />
<ioelement name="PE033__MKL2.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="203" />
<ioelement name="PE033__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="204" />
<ioelement name="PE033__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="205" />
<ioelement name="PE033__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="206" />
<ioelement name="PE033__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="207" />
<ioelement name="PE033__SBE1.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="208" />
<ioelement name="PE033__SBE2.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="209" />
<ioelement name="PE033__SBE3.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="210" />
<ioelement name="PE033__SBE4.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="211" />
<ioelement name="PE033__SBE5.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="212" />
<ioelement name="PE033__SBE6.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="213" />
<ioelement name="PE034__MKL1.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="214" />
<ioelement name="PE034__MKL1.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="215" />
<ioelement name="PE034__MKL1.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="216" />
<ioelement name="PE034__MKL1.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="217" />
<ioelement name="PE034__MKL2.Drive.PZD1R" direction="ToSHM" type="int" size="4" unit="none" signal="218" />
<ioelement name="PE034__MKL2.Drive.PZD1S" direction="FromSHM" type="int" size="4" unit="none" signal="219" />
<ioelement name="PE034__MKL2.Drive.PZD2R" direction="ToSHM" type="int" size="4" unit="none" signal="220" />
<ioelement name="PE034__MKL2.Drive.PZD2S" direction="FromSHM" type="int" size="4" unit="none" signal="221" />
<ioelement name="PE034__BLST1.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="222" />
<ioelement name="PE034__BLST2.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="223" />
<ioelement name="PE034__BLST3.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="224" />
<ioelement name="PE034__BLST4.PalletSensor.SensorOn" direction="ToSHM" type="int" size="4" unit="none" signal="225" />
<ioelement name="PE034__SBE1.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="226" />
<ioelement name="PE034__SBE2.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="227" />
<ioelement name="PE034__SBE3.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="228" />
<ioelement name="PE034__SBE4.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="229" />
<ioelement name="PE034__SBE5.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="230" />
<ioelement name="PE034__SBE6.LimitSwitch.State" direction="ToSHM" type="bool" size="4" unit="none" signal="231" />
</iomapping>
\ No newline at end of file
# ACPLT/RTE - Runtime Environment for realtime PTS Simulation (SMS Model 4)
This folder contains an [ACPLT/RTE](https://github.com/acplt/rte) runtime environment system for the more realistic realtime simulation of the palette transport system, which is currently not hosted here due to IP reasons.
\ No newline at end of file
This diff is collapsed.
#!/bin/sh
# Resets all ESEs by PRIO --> ABORT --> CLEAR --> RESET --> FREE
# Emergency-Stop has to be off (No ESE in ABORTING state)
##### Custom paths #####
SERVERPORT="7510"
SERVERIP="localhost"
##### Functions ######
sendCMDs()
{
# argument 1 = command
echo -e "Sending cmd to all ESEs: $1"
for name in $NAMESArray
do
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$name".CMD&newvalue="$1
done
echo -e "\n"
}
##### Start of Main script ######
# Get all ESE names
NAMES=$(curl -s "http://"$SERVERIP":"$SERVERPORT"/getEP?format=plain&requestType=OT_DOMAIN&requestOutput=OP_NAME&path=/TechUnits/ESE")
NAMESArray=$(echo $NAMES | tr "; " "\n")
echo -e "Found ESEs:"
echo $NAMESArray
echo ""
### Send cmds ###
sendCMDs "INIT;PRIO;"
sendCMDs "INIT;ABORT;"
sendCMDs "INIT;CLEAR;"
sendCMDs "INIT;RESET;"
# Shift and Turn once
echo "Shift and Turn ESEs once"
sendCMDs "INIT;DSHIFT;"
sendCMDs "INIT;TURN;"
sendCMDs "INIT;START;"
echo "Wait for 60 seconds to complete Shift and Turn"
sleep 60
sendCMDs "INIT;STOP;"
sendCMDs "INIT;RESET;"
sendCMDs "INIT;FREE;"
echo -e "\n\033[1;32mDone\033[m"
exit
#!/bin/bash
# no parameter: start server and load fbds
##### Custom paths #####
THISACPLTSYSTEM=$(pwd)/..
SERVERNAME="ESE"
SERVERPORT="7510"
SERVERIP="localhost"
##### Functions ######
configESESHM(){
CurrentESE=$1
UseSHM=$2
[[ $UseSHM = "FALSE" ]] && UseRFM="TRUE" || UseRFM="FALSE"
echo -e "Switching $CurrentESE to SHM ($UseSHM)"
echo -e "- Switch RFM Outputs in Interlock: "
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PE.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PE.MountDir&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PU.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PN.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PL.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/Furnace.useSHM&newvalue="$UseSHM
echo -e "\n- Switch RFM Inputs in Skills: "
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/PE.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/Furnace.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift/PU.useSHM&newvalue="$UseSHM
#curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift2/PU.useSHM&newvalue="$UseSHM
#TODO: Replace Shift2 P3STOP and P3SLOW
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Turn/PL.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Heat/Furnace.useSHM&newvalue="$UseSHM
echo -e "\n- Switch HandPanel Inputs in ExMode: "
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/HandPanel.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/HandPanel.iexreq&newvalue="$UseRFM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/hcon916.on&newvalue="$UseRFM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/hcon2428.on&newvalue="$UseRFM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/NoESTOP.IN&newvalue="$UseRFM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/AbortOrESTOP.IN1&newvalue="$UseRFM
echo -e "\n- Rename IDs for PU,PN,PL Outputs in Interlock: "
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PUID.value&newvalue="$CurrentESE
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PLID.value&newvalue="$CurrentESE
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PNID.value&newvalue="$CurrentESE
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/PUID.value&newvalue="$CurrentESE
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/PLID.value&newvalue="$CurrentESE
#acitvate Shift
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift.actimode&newvalue=1"
echo -e "\n"
}
##### Start of Main script ######
NAMES=$(curl -s "http://"$SERVERIP":"$SERVERPORT"/getEP?format=plain&requestType=OT_DOMAIN&requestOutput=OP_NAME&path=/TechUnits/ESE")
NAMESArray=$(echo $NAMES | tr "; " "\n")
for name in $NAMESArray
do
configESESHM "$name" "TRUE"
done
echo -e "\n\033[1;32mDone\033[m"
exit
#!/bin/bash
# no parameter: start server and load fbds
##### Custom paths #####
THISACPLTSYSTEM=$(pwd)/..
SERVERNAME="ESE"
SERVERPORT="7510"
SERVERIP="localhost"
##### Functions ######
configESESHM(){
CurrentESE=$1
UseSHM=$2
[[ $UseSHM = "FALSE" ]] && UseRFM="TRUE" || UseRFM="FALSE"
echo -e "Switching $CurrentESE to SHM ($UseSHM)"
echo -e "- Switch RFM Outputs in Interlock: "
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PE.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PE.MountDir&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PU.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PN.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PL.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/Furnace.useSHM&newvalue="$UseSHM
echo -e "\n- Switch RFM Inputs in Skills: "
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/PE.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/Furnace.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift/PU.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift2/PU.useSHM&newvalue="$UseSHM
#TODO: Replace Shift2 P3STOP and P3SLOW
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Turn/PL.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Heat/Furnace.useSHM&newvalue="$UseSHM
echo -e "\n- Switch HandPanel Inputs in ExMode: "
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/HandPanel.useSHM&newvalue="$UseSHM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/HandPanel.iexreq&newvalue="$UseRFM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/hcon916.on&newvalue="$UseRFM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/hcon2428.on&newvalue="$UseRFM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/NoESTOP.IN&newvalue="$UseRFM
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/AbortOrESTOP.IN1&newvalue="$UseRFM
echo -e "\n- Rename IDs for PU,PN,PL Outputs in Interlock: "
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PUID.value&newvalue="$CurrentESE
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PLID.value&newvalue="$CurrentESE
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PNID.value&newvalue="$CurrentESE
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/PUID.value&newvalue="$CurrentESE
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/PLID.value&newvalue="$CurrentESE
echo -e "\n"
}
##### Start of Main script ######
NAMES=$(curl -s "http://"$SERVERIP":"$SERVERPORT"/getEP?format=plain&requestType=OT_DOMAIN&requestOutput=OP_NAME&path=/TechUnits/ESE")
NAMESArray=$(echo $NAMES | tr "; " "\n")
for name in $NAMESArray
do
configESESHM "$name" "TRUE"
done
echo -e "\n\033[1;32mDone\033[m"
exit
#!/bin/sh
# no parameter: start server and load fbds
# parameter 1: -r --> restarts server
# -l --> only load and configure fbds
##### Custom paths #####
THISACPLTSYSTEM=$(pwd)/..
SERVERNAME="ESE"
SERVERPORT="7510"
SERVERIP="localhost"
##### Functions ######
configESE(){
CurrentESE=$1
echo -e "Configuring "$CurrentESE
#disable actimode
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift.actimode&newvalue=0"
#rename Shift and Shift2
curl "http://"$SERVERIP":"$SERVERPORT"/renameObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift&newname=/TechUnits/ESE/"$CurrentESE"/Skills/ShiftTemp"
curl "http://"$SERVERIP":"$SERVERPORT"/renameObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift2&newname=/TechUnits/ESE/"$CurrentESE"/Skills/Shift"
curl "http://"$SERVERIP":"$SERVERPORT"/renameObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/ShiftTemp&newname=/TechUnits/ESE/"$CurrentESE"/Skills/Shift2"
#rename ShiftToWORKST and Shift2ToWORKST
curl "http://"$SERVERIP":"$SERVERPORT"/renameObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/ShiftToWORKST&newname=/TechUnits/ESE/"$CurrentESE"/Skills/ShiftToWORKSTTemp"
curl "http://"$SERVERIP":"$SERVERPORT"/renameObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift2ToWORKST&newname=/TechUnits/ESE/"$CurrentESE"/Skills/ShiftToWORKST"
curl "http://"$SERVERIP":"$SERVERPORT"/renameObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/ShiftToWORKSTTemp&newname=/TechUnits/ESE/"$CurrentESE"/Skills/Shift2ToWORKST"
#change SHIFTPOS connection link
curl "http://"$SERVERIP":"$SERVERPORT"/unlink?format=plain&path=/TechUnits/ESE/"$CurrentESE"/c_SHIFTPOS.sourcefb&element=/TechUnits/ESE/"$CurrentESE"/Skills/Shift2/SHIFTPOS"
curl "http://"$SERVERIP":"$SERVERPORT"/link?format=plain&path=/TechUnits/ESE/"$CurrentESE"/c_SHIFTPOS.sourcefb&element=/TechUnits/ESE/"$CurrentESE"/Skills/Shift/SHIFTPOS"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/c_SHIFTPOS.on&newvalue=TRUE"
#enable actimode
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift.actimode&newvalue=1"
echo -e "\n"
}
##### Start of Main script ######
# shift conveyor
configESE "PE034"
configESE "PE033"
#configESE "PX"
echo -e "\n\033[1;32mDone\033[m"
exit
#!/bin/bash
echo -e "Starting Demo from "$(pwd)": "
date
(./manager.sh -l)
(./hmi.sh -l)
(./ese.sh -l -e)# -r -e) # only model 2, else: -e)
(./gse.sh -l)
(./proc.sh -l)
echo -e "\n\033[1;32mDemo ready.\033[m"
exit
#!/bin/sh
# no parameter: start server and load fbds
# parameter 1: -r --> restarts server
# -l --> only load and configure fbds
##### Custom paths #####
THISACPLTSYSTEM=$(pwd)/..
SERVERNAME="DEV1"
SERVERPORT="7520"
SERVERIP="localhost"
##### Functions ######
. ./functions.sh
##### Start of Main script ######
startServer $1
if [ "$1" != "-l" ]; then
echo -e "Waiting 5sec for Server to register at MANAGER."
sleep 5
fi
#### Load and configure the fbds ####
# Set cycletime to 0.02 sec
echo -e "Setting cyctime to 0.02"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/Tasks/UrTask.cyctime&newvalue=0.02"
echo -e "\n"
### Load DiscoveryTask ###
loadFBD "basys/Tasks_DiscoveryTask"
echo ""
### Load OPC UA interface ###
loadFBD "basys/communication_opcua"
echo -e ""
### Load ESEs ###
#load development ESE
loadESE "PX" 1 1 1 0 500
loadESEProxy "PXAlternative" 0 0 0 360 400
### Load GSEs ###
loadFBD "basys/TechUnits_Topology-erweitert"
#loadPaletts
loadGSE "PX" "PE031" 0 300
echo -e "\n\033[1;32mDone\033[m"
exit
#!/bin/bash
# no parameter: start server and load fbds
# parameter 1: -r --> restarts server
# -l --> only load and configure fbds
# -e --> Expanded Example with third row
##### Custom paths #####
THISACPLTSYSTEM=$(pwd)/..
SERVERNAME="ESE"
SERVERPORT="7510"
SERVERIP="localhost"
TIME="1"
##### Functions ######
. ./functions.sh
configPE033()
{
#configure shift conveyer Adress and directions
echo -e "Configure shift conveyer PE033 adress and directions"
FOLDER33="http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/PE033/"
curl ""$FOLDER33"Skills/Move/InvertMountDir.IN2&newvalue=TRUE"
curl ""$FOLDER33"Skills/PUID.value&newvalue=PU010"
curl ""$FOLDER33"Interlock/PUID.value&newvalue=PU010"
#curl ""$FOLDER33"Skills/Shift2/P3SLOW.address&newvalue=212"
#curl ""$FOLDER33"Skills/Shift2/P3STOP.address&newvalue=213"
curl ""$FOLDER33"Skills/Shift/Direction.IN0&newvalue=1"
curl ""$FOLDER33"Skills/Shift/Direction.IN1&newvalue=-1"
#curl ""$FOLDER33"Skills/Shift2/Direction.IN0&newvalue=1"
#curl ""$FOLDER33"Skills/Shift2/Direction.IN1&newvalue=-1"
curl ""$FOLDER33"Interlock/PU.MountDir&newvalue=FALSE"
curl ""$FOLDER33"Skills/Shift/PU.MountDir&newvalue=TRUE"
#curl ""$FOLDER33"Skills/Shift2/InvertMountDir.IN2&newvalue=TRUE"
#curl ""$FOLDER33"Skills/Shift2/actualPosition.u1&newvalue=3"
#curl ""$FOLDER33"Skills/Shift2/actualPosition.u3&newvalue=1"
#curl ""$FOLDER33"Skills/Shift2/MapDestination.u1&newvalue=3"
#curl ""$FOLDER33"Skills/Shift2/MapDestination.u3&newvalue=1"
#curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift2/SHIFTPOS.value&newvalue=3"
#echo ""
}
configPE034()
{
#configure shift conveyer Adresss and directions
FOLDER34="http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/PE034/"
#curl ""$FOLDER34"Skills/Shift2/actualPosition.u1&newvalue=3"
#curl ""$FOLDER34"Skills/Shift2/actualPosition.u3&newvalue=1"
#curl ""$FOLDER34"Skills/Shift2/MapDestination.u1&newvalue=3"
#curl ""$FOLDER34"Skills/Shift2/MapDestination.u3&newvalue=1"
#curl ""$FOLDER34"Skills/Shift2/Direction.IN0&newvalue=-1"
#curl ""$FOLDER34"Skills/Shift2/Direction.IN1&newvalue=1"
}
##### Start of Main script ######
#startServer $1
#if [ "$1" != "-l" ]; then
# echo -e "Waiting 5sec for Server to register at MANAGER."
# sleep $TIME
#fi
# Set cycletime to 1 sec
echo -e "Setting cyctime to 1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/Tasks/UrTask.cyctime&newvalue=1"
echo -e "\n\033[1;32mDone\033[m\n"
#### Load and configure the fbds ####
### Load DiscoveryTask ###
#loadFBD "basys/Tasks_DiscoveryTask"
#echo ""
### Load OPC UA interface ###
#loadFBD "basys/communication_opcua"
#echo -e ""
### Load ESEs ###
#load development ESE
#loadESE "PX" 1 1 1 0 500
# first row
loadESE "PE004" 1 0 0 0 0 100
loadESE "PE005" 1 0 0 0 360 100
loadESE "PE008" 1 0 0 0 540 100
loadESE "PE009" 1 0 0 1 720 100
loadESE "PE010" 1 0 0 0 900 100
loadESE "PE011" 1 0 0 0 1080 100
loadESE "PE018" 1 0 0 0 1440 100
# second row
loadESE "PE031" 1 0 0 0 360 300
loadESE "PE030" 1 0 0 0 540 300
loadESE "PE025" 1 0 1 0 720 300
loadESE "PE028" 1 0 0 0 900 300
loadESE "PE027" 1 0 0 0 1080 300
# shift conveyor
loadESE "PE034" 1 1 0 0 180 200
loadESE "PE033" 1 1 0 0 1260 200
#configure shift conveyer Adress and directions
configPE033
configPE034
# load Proxy ESEs
#./forte.sh
#loadESEProxy "PE005Alternative" 0 0 0 360 400
if [ "$1" == "-e" ] || [ "$2" == "-e" ]; then
./ese2.sh
fi
# Set cycletime to 0.02 sec
echo -e "\nSetting cyctime to 0.02"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/Tasks/UrTask.cyctime&newvalue=0.02"
echo -e "\n"
echo -e "\n\033[1;32mDone\033[m"
exit
\ No newline at end of file
#!/bin/bash
# no parameter: start server and load fbds
# parameter 1: -r --> restarts server
# -l --> only load and configure fbds
# -e --> Expanded Example with third row
##### Custom paths #####
THISACPLTSYSTEM=$(pwd)/..
SERVERNAME="ESE"
SERVERPORT="7510"
SERVERIP="localhost"
##### Functions ######
. ./functions.sh
configPE033()
{
#configure shift conveyer Adress and directions
echo -e "Configure shift conveyer PE033 adress and directions"
FOLDER33="http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/PE033/"
curl ""$FOLDER33"Skills/Move/InvertMountDir.IN2&newvalue=TRUE"
curl ""$FOLDER33"Skills/PUID.value&newvalue=PU010"
curl ""$FOLDER33"Interlock/PUID.value&newvalue=PU010"
curl ""$FOLDER33"Skills/Shift2/P3SLOW.address&newvalue=212"
curl ""$FOLDER33"Skills/Shift2/P3STOP.address&newvalue=213"
curl ""$FOLDER33"Skills/Shift/Direction.IN0&newvalue=1"
curl ""$FOLDER33"Skills/Shift/Direction.IN1&newvalue=-1"
curl ""$FOLDER33"Skills/Shift2/Direction.IN0&newvalue=1"
curl ""$FOLDER33"Skills/Shift2/Direction.IN1&newvalue=-1"
curl ""$FOLDER33"Interlock/PU.MountDir&newvalue=FALSE"
curl ""$FOLDER33"Skills/Shift/PU.MountDir&newvalue=TRUE"
curl ""$FOLDER33"Skills/Shift2/InvertMountDir.IN2&newvalue=TRUE"
curl ""$FOLDER33"Skills/Shift2/actualPosition.u1&newvalue=3"
curl ""$FOLDER33"Skills/Shift2/actualPosition.u3&newvalue=1"
curl ""$FOLDER33"Skills/Shift2/MapDestination.u1&newvalue=3"
curl ""$FOLDER33"Skills/Shift2/MapDestination.u3&newvalue=1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift2/SHIFTPOS.value&newvalue=3"
echo ""
}
configPE034()
{
#configure shift conveyer Adresss and directions
FOLDER34="http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/PE034/"
curl ""$FOLDER34"Skills/Shift2/actualPosition.u1&newvalue=3"
curl ""$FOLDER34"Skills/Shift2/actualPosition.u3&newvalue=1"
#curl ""$FOLDER34"Skills/Shift2/MapDestination.u1&newvalue=3"
#curl ""$FOLDER34"Skills/Shift2/MapDestination.u3&newvalue=1"
#curl ""$FOLDER34"Skills/Shift2/Direction.IN0&newvalue=-1"
#curl ""$FOLDER34"Skills/Shift2/Direction.IN1&newvalue=1"
}
##### Start of Main script ######
startServer $1
if [ "$1" != "-l" ]; then
echo -e "Waiting 5sec for Server to register at MANAGER."
sleep 5
fi
# Set cycletime to 1 sec
echo -e "Setting cyctime to 1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/Tasks/UrTask.cyctime&newvalue=1"
echo -e "\n"
echo -e "\n\033[1;32mDone\033[m"
#### Load and configure the fbds ####
### Load DiscoveryTask ###
#loadFBD "basys/Tasks_DiscoveryTask"
#echo ""
### Load OPC UA interface ###
#loadFBD "basys/communication_opcua"
#echo -e ""
### Load ESEs ###
#load development ESE
#loadESE "PX" 1 1 1 0 500
# first row
loadESE "PE004" 0 0 0 0 100
loadESE "PE005" 0 0 0 360 100
loadESE "PE008" 0 0 0 540 100
loadESE "PE009" 0 0 1 720 100
loadESE "PE010" 0 0 0 900 100
loadESE "PE011" 0 0 0 1080 100
loadESE "PE018" 0 0 0 1440 100
# second row
#loadESE "PE031" 0 0 0 360 300
#loadESE "PE030" 0 0 0 540 300
#loadESE "PE025" 0 1 0 720 300
#loadESE "PE028" 0 0 0 900 300
#loadESE "PE027" 0 0 0 1080 300
# shift conveyor
loadESE "PE034" 1 0 0 180 200
loadESE "PE033" 1 0 0 1260 200
#configure shift conveyer Adress and directions
configPE033
configPE034
# load Proxy ESEs
#./forte.sh
#loadESEProxy "PE005Alternative" 0 0 0 360 400
if [ "$1" == "-e" ] || [ "$2" == "-e" ]; then
./ese2.sh
fi
# Set cycletime to 0.02 sec
echo -e "Setting cyctime to 0.02"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/Tasks/UrTask.cyctime&newvalue=0.02"
echo -e "\n"
echo -e "\n\033[1;32mDone\033[m"
exit
\ No newline at end of file
#!/bin/bash
# no parameter: start server and load fbds
# parameter 1: -r --> restarts server
# -l --> only load and configure fbds
# -e --> Expanded Example with third row
##### Custom paths #####
THISACPLTSYSTEM=$(pwd)/..
SERVERNAME="ESE"
SERVERPORT="7510"
SERVERIP="localhost"
##### Functions ######
. ./functions.sh
configPE033()
{
#configure shift conveyer Adress and directions
echo -e "Configure shift conveyer PE033 adress and directions"
FOLDER33="http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/PE033/"
curl ""$FOLDER33"Skills/Move/InvertMountDir.IN2&newvalue=TRUE"
curl ""$FOLDER33"Skills/PUID.value&newvalue=PU010"
curl ""$FOLDER33"Interlock/PUID.value&newvalue=PU010"
curl ""$FOLDER33"Skills/Shift2/P3SLOW.address&newvalue=212"
curl ""$FOLDER33"Skills/Shift2/P3STOP.address&newvalue=213"
curl ""$FOLDER33"Skills/Shift/Direction.IN0&newvalue=1"
curl ""$FOLDER33"Skills/Shift/Direction.IN1&newvalue=-1"
curl ""$FOLDER33"Skills/Shift2/Direction.IN0&newvalue=1"
curl ""$FOLDER33"Skills/Shift2/Direction.IN1&newvalue=-1"
curl ""$FOLDER33"Interlock/PU.MountDir&newvalue=FALSE"
curl ""$FOLDER33"Skills/Shift/PU.MountDir&newvalue=TRUE"
curl ""$FOLDER33"Skills/Shift2/InvertMountDir.IN2&newvalue=TRUE"
curl ""$FOLDER33"Skills/Shift2/actualPosition.u1&newvalue=3"
curl ""$FOLDER33"Skills/Shift2/actualPosition.u3&newvalue=1"
curl ""$FOLDER33"Skills/Shift2/MapDestination.u1&newvalue=3"
curl ""$FOLDER33"Skills/Shift2/MapDestination.u3&newvalue=1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift2/SHIFTPOS.value&newvalue=3"
echo ""
}
configPE034()
{
#configure shift conveyer Adresss and directions
FOLDER34="http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/PE034/"
curl ""$FOLDER34"Skills/Shift2/actualPosition.u1&newvalue=3"
curl ""$FOLDER34"Skills/Shift2/actualPosition.u3&newvalue=1"
#curl ""$FOLDER34"Skills/Shift2/MapDestination.u1&newvalue=3"
#curl ""$FOLDER34"Skills/Shift2/MapDestination.u3&newvalue=1"
#curl ""$FOLDER34"Skills/Shift2/Direction.IN0&newvalue=-1"
#curl ""$FOLDER34"Skills/Shift2/Direction.IN1&newvalue=1"
}
##### Start of Main script ######
startServer $1
if [ "$1" != "-l" ]; then
echo -e "Waiting 5sec for Server to register at MANAGER."
sleep 5
fi
# Set cycletime to 1 sec
echo -e "Setting cyctime to 1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/Tasks/UrTask.cyctime&newvalue=1"
echo -e "\n"
echo -e "\n\033[1;32mDone\033[m"
#### Load and configure the fbds ####
### Load DiscoveryTask ###
#loadFBD "basys/Tasks_DiscoveryTask"
#echo ""
### Load OPC UA interface ###
#loadFBD "basys/communication_opcua"
#echo -e ""
### Load ESEs ###
#load development ESE
#loadESE "PX" 1 1 1 0 500
# first row
loadESE "PE004" 0 0 0 0 100
loadESE "PE005" 0 0 0 360 100
#loadESE "PE008" 0 0 0 540 100
#loadESE "PE009" 0 0 1 720 100
#loadESE "PE010" 0 0 0 900 100
#loadESE "PE011" 0 0 0 1080 100
#loadESE "PE018" 0 0 0 1440 100
# second row
#loadESE "PE031" 0 0 0 360 300
#loadESE "PE030" 0 0 0 540 300
#loadESE "PE025" 0 1 0 720 300
#loadESE "PE028" 0 0 0 900 300
#loadESE "PE027" 0 0 0 1080 300
# shift conveyor
loadESE "PE034" 1 0 0 180 200
#loadESE "PE033" 1 0 0 1260 200
#configure shift conveyer Adress and directions
#configPE033
configPE034
# load Proxy ESEs
#./forte.sh
#loadESEProxy "PE005Alternative" 0 0 0 360 400
if [ "$1" == "-e" ] || [ "$2" == "-e" ]; then
./ese2.sh
fi
# Set cycletime to 0.02 sec
echo -e "Setting cyctime to 0.02"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/Tasks/UrTask.cyctime&newvalue=0.02"
echo -e "\n"
echo -e "\n\033[1;32mDone\033[m"
exit
\ No newline at end of file
#!/bin/bash
#
##### Custom paths #####
THISACPLTSYSTEM=$(pwd)/..
SERVERNAME="ESE"
SERVERPORT="7510"
SERVERIP="localhost"
##### Functions ######
. ./functions.sh
#### Load and configure the fbds ####
# Set cycletime to 1 sec
echo -e "Setting cyctime to 1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/Tasks/UrTask.cyctime&newvalue=1"
echo -e "\n"
echo -e "\n\033[1;32mDone\033[m"
echo -e "Setting up expanded example with third row:"
# second row
loadESE "PE013" 0 0 0 360 500
loadESE "PE016" 0 0 0 540 500
loadESE "PE019" 0 0 0 720 500
loadESE "PE021" 0 0 0 900 500
loadESE "PE026" 0 0 0 1080 500
#Change Shift to Shift2 skill to use third row
#./configShift2.sh
# Set cycletime to 1 sec
echo -e "Setting cyctime to 0.02"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/Tasks/UrTask.cyctime&newvalue=0.02"
echo -e "\n"
echo -e "\n\033[1;32mDone\033[m"
#echo -e "\n\033[1;32mDone\033[m"
exit
#!/bin/bash
##### needed global vars #####
#THISACPLTSYSTEM
#SERVERNAME
#SERVERPORT
#SERVERIP
##### Functions ######
loadFBD()
{
FBD=$1
echo -e "- Loading $FBD."
rm -f $THISACPLTSYSTEM/templates/${FBD}.log
RESULT=$($THISACPLTSYSTEM/system/sysbin/fb_dbcommands -s ${SERVERIP}:7509/${SERVERNAME} -load -f $THISACPLTSYSTEM/templates/${FBD}.fbd 2>&1)
if [[ "$RESULT" == *"' geladen." ]]; then
:
else
echo -e "\033[1;31m- Failed!\033[m See log file for more information:"
echo "$THISACPLTSYSTEM/templates/${FBD}.log"
echo $RESULT
fi
}
replaceNameAndLoad(){
FBD=$1
OLDNAME=$2
NEWNAME=$3
echo -e "- Replacing $OLDNAME with $NEWNAME in $FBD"
rm -f $THISACPLTSYSTEM/templates/${FBD}.temp.log
cp -f $THISACPLTSYSTEM/templates/${FBD}.fbd $THISACPLTSYSTEM/templates/${FBD}.temp.fbd
sed -i 's/'$OLDNAME'/'$NEWNAME'/g' $THISACPLTSYSTEM/templates/${FBD}.temp.fbd
loadFBD $FBD".temp"
rm -f $THISACPLTSYSTEM/templates/${FBD}.temp.fbd
}
loadESE(){
CurrentESE=$1
IsMove=$2
IsShift=$3
IsTurn=$4
IsHeat=$5
Xpos=$6
Ypos=$7
#Check if already exists
RESULT=$(curl -s "http://"$SERVERIP":"$SERVERPORT"/getVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".actimode")
regex="1|0;"
if [[ "$RESULT" =~ $regex ]]; then
echo -e "\n\033[1;32m- OK\033[m ESE $CurrentESE already exists in server."
else
### Set Frame ###
echo -e "\nLoading Frame for $CurrentESE"
replaceNameAndLoad "basys/TechUnits_ESE_Frame" "PX" $CurrentESE
echo -e "\033[1;32m- Frame loaded" $CurrentESE "\033[m"
fi
### Set Skills ###
#Move
RESULT=$(curl -s "http://"$SERVERIP":"$SERVERPORT"/getVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move.actimode")
regex="1|0;"
if [[ "$RESULT" =~ $regex ]]; then
echo -e "\033[1;32m- OK\033[m Skill Move $CurrentESE already exists in server."
elif [ "$IsMove" == "1" ]; then
echo -e "\nLoading Skill Move for $CurrentESE"
replaceNameAndLoad "basys/TechUnits_ESE_Move" "PX" $CurrentESE
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/Direction.IN0&newvalue=-1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/Direction.IN1&newvalue=1"
echo -e "\n\033[1;32m- Skill Move loaded" $CurrentESE "\033[m"
fi
#Shift
RESULT=$(curl -s "http://"$SERVERIP":"$SERVERPORT"/getVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift.actimode")
regex="1|0;"
if [[ "$RESULT" =~ $regex ]]; then
echo -e "\033[1;32m- OK\033[m Skill Shift $CurrentESE already exists in server."
elif [ "$IsShift" == "1" ]; then
echo -e "\nLoading Skill Shift for $CurrentESE"
replaceNameAndLoad "basys/TechUnits_ESE_Shift" "PX" $CurrentESE
echo -e "\n\033[1;32m- Skill Shift loaded" $CurrentESE "\033[m"
#specific Output
#curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift2/SHIFTPOS.value&newvalue=1"
fi
#Turn
RESULT=$(curl -s "http://"$SERVERIP":"$SERVERPORT"/getVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Turn.actimode")
regex="1|0;"
if [[ "$RESULT" =~ $regex ]]; then
echo -e "\033[1;32m- OK\033[m Skill Turn $CurrentESE already exists in server."
elif [ "$IsTurn" == "1" ]; then
echo -e "\nLoading Skill Turn for $CurrentESE"
replaceNameAndLoad "basys/TechUnits_ESE_Turn" "PX" $CurrentESE
echo -e "\033[1;32m- Skill Turn loaded" $CurrentESE "\033[m"
fi
#Heat
RESULT=$(curl -s "http://"$SERVERIP":"$SERVERPORT"/getVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Heat.actimode")
regex="1|0;"
if [[ "$RESULT" =~ $regex ]]; then
echo -e "\033[1;32m- OK\033[m Skill Heat $CurrentESE already exists in server."
elif [ "$IsHeat" == "1" ]; then
echo -e "\nLoading Skill Heat for $CurrentESE"
replaceNameAndLoad "basys/TechUnits_ESE_Heat" "PX" $CurrentESE
echo -e "\033[1;32m- Skill Heat loaded" $CurrentESE "\033[m"
#Configure Doors of Furnace ###
echo -e "\n- Configure Move for doors of furnace: "
[[ $IsFurnace = 1 ]] && Furnace="TRUE" || Furnace="FALSE"
[[ $IsFurnace = 1 ]] && NFurnace="FALSE" || NFurnace="TRUE"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/hcon1391.on&newvalue="$Furnace
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/hcon6458.on&newvalue="$Furnace
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/ready.result&newvalue="$NFurnace
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/end.result&newvalue="$NFurnace
fi
### Set SSC States ###
echo -e "\nResetting SSC States: "
# Resetting SSCs
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/OrIn/Occ.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/Mode.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/Clearing.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/Clear.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/Abort.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Stop.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Reset.EN&newvalue=3"
#Enable SSCs after reset
sleep $(($TIME+1))
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/OrIn/Occ.EN&newvalue=1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/Mode.EN&newvalue=1"
#curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/Clearing.EN&newvalue=1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode.EN&newvalue=1"
# Disalbe OpMode changes from pass to take
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/OpMode/hcon3877.on&newvalue=FALSE"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/OpMode/hcon5704.on&newvalue=FALSE"
### Set orderlist and executor ###
echo -e "\nSet orderlist and delete services: "
#ORDERLIST=$(curl -s "http://"$SERVERIP":"$SERVERPORT"/getVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".ORDERLIST")
ORDERLIST="\{JOG\}%20\{ABORT\}%20\{CLEAR\}%20\{RESET\}%20\{START\}%20\{HOLD\}%20\{UNHOLD\}%20\{SUSPEND\}%20\{UNSUSPEND\}%20\{STOP\}%20\{FREE\}%20\{OCCUPY\}%20\{PRIO\}%20\{AUTO\}%20\{MANUAL\}"
ORDEREXECUTOR="\{cmMode\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmOcc\}%20\{cmOcc\}%20\{cmOcc\}%20\{cmExe\}%20\{cmExe\}"
if [ "$IsMove" == "1" ]; then
ORDERLIST="\{BTAKE\}%20\{FTAKE\}%20\{BPASS\}%20\{FPASS\}%20"$ORDERLIST
ORDEREXECUTOR="\{cmMode\}%20\{cmMode\}%20\{cmMode\}%20\{cmMode\}%20"$ORDEREXECUTOR
fi
if [ "$IsShift" == "1" ]; then
ORDERLIST="\{USHIFT\}%20\{DSHIFT\}%20"$ORDERLIST
ORDEREXECUTOR="\{cmMode\}%20\{cmMode\}%20"$ORDEREXECUTOR
fi
if [ "$IsTurn" == "1" ]; then
ORDERLIST="\{TURN\}%20"$ORDERLIST
ORDEREXECUTOR="\{cmMode\}%20"$ORDEREXECUTOR
fi
if [ "$IsFurnace" == "1" ]; then
ORDERLIST="\{HEAT\}%20"$ORDERLIST
ORDEREXECUTOR="\{cmMode\}%20"$ORDEREXECUTOR
else
#TODO add Service for Heat in ESE
:
#curl "http://"$SERVERIP":"$SERVERPORT"/deleteObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/SERVICES/TURN"
fi
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".ORDERLIST&newvalue="$ORDERLIST
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".ORDEREXECUTOR&newvalue="$ORDEREXECUTOR
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".Xpos&newvalue="$Xpos
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".Ypos&newvalue="$Ypos
echo -e "\n"
}
loadESEProxy(){
CurrentESE=$1
IsShift=$2
IsTurn=$3
IsFurnace=$4
Xpos=$5
Ypos=$6
replaceNameAndLoad "basys/TechUnits_ESE_PXProxy" "PXProxy" $CurrentESE
echo "Configuring "$CurrentESE
### Set SSC States ###
echo -e "- Resetting SSC States: "
# Resetting SSCs
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/OrIn/Occ.EN&newvalue=3"
#Enable SSCs after reset
sleep $TIME
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/OrIn/Occ.EN&newvalue=1"
### Set orderlist and executor ###
echo -e "\n- Set orderlist and delete services: "
ORDERLIST="\{BTAKE\}%20\{FTAKE\}%20\{BPASS\}%20\{FPASS\}%20\{JOG\}%20\{RESET\}%20\{START\}%20\{STOP\}%20\{FREE\}%20\{OCCUPY\}%20\{PRIO\}"
ORDEREXECUTOR="\{cmMode\}%20\{cmMode\}%20\{cmMode\}%20\{cmMode\}%20\{cmMode\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmOcc\}%20\{cmOcc\}%20\{cmOcc\}"
if [ "$IsShift" == "1" ]; then
ORDERLIST="\{USHIFT\}%20\{DSHIFT\}%20"$ORDERLIST
ORDEREXECUTOR="\{cmMode\}%20\{cmMode\}%20"$ORDEREXECUTOR
else
:
fi
if [ "$IsTurn" == "1" ]; then
ORDERLIST="\{TURN\}%20"$ORDERLIST
ORDEREXECUTOR="\{cmMode\}%20"$ORDEREXECUTOR
else
:
fi
if [ "$IsFurnace" == "1" ]; then
ORDERLIST="\{HEAT\}%20"$ORDERLIST
ORDEREXECUTOR="\{cmMode\}%20"$ORDEREXECUTOR
else
:
fi
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".ORDERLIST&newvalue="$ORDERLIST
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".ORDEREXECUTOR&newvalue="$ORDEREXECUTOR
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".Xpos&newvalue="$Xpos
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".Ypos&newvalue="$Ypos
echo -e "\n"
}
loadGSE(){
CurrentESE=$1
CurrentPos=$2
Xpos=$3
Ypos=$4
FBD="basys/TechUnits_GSE_PX"$5
replaceNameAndLoad $FBD "PX" $CurrentESE
echo "Configuring "$CurrentESE
###
#reset
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/OrIn/Occ.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/ExMode/Mode.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/Skills/PImage/CStatusExt.doReset&newvalue=TRUE"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/Skills/PImage/NStatusExt.doReset&newvalue=TRUE"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/Interlock/SetCCMDext.doReset&newvalue=TRUE"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/Interlock/SetNCMDext.doReset&newvalue=TRUE"
sleep $TIME
#set
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/OrIn/Occ.EN&newvalue=1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/ExMode/Mode.EN&newvalue=1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/Skills/PImage/CStatusExt.doCyclic&newvalue=TRUE"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/Skills/PImage/NStatusExt.doCyclic&newvalue=TRUE"
### Set X/Y Pos and Current position
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/Current.value&newvalue="$CurrentPos
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE".Xpos&newvalue="$Xpos
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE".Ypos&newvalue="$Ypos
echo -e "\n"
}
#!/bin/bash
##### needed global vars #####
#THISACPLTSYSTEM
#SERVERNAME
#SERVERPORT
#SERVERIP
##### Functions ######
startServer(){
#check if only load and not start server
if [ "$1" == "-l" ]; then
return 0
fi
##### Check that no server is running #####
SERVERPID=$(lsof -i:${SERVERPORT} -t)
if [[ {"$(pidof ov_runtimeserver.exe)" != ""} && {"$SERVERPID" != ""} ]]; then
if [ "$SERVERPID" != "" ]; then
if [ "$1" == "-r" ]; then
echo -e "\033[1;33mAn ov server process is already running and listening on port ${SERVERPORT}.\033[m It will be killed."
kill -TERM $SERVERPID
sleep 1
else
echo -e "\033[1;31mAn ov server process is already running and listening on port ${SERVERPORT}.\033[m Try with parameter -r to kill and restart the server."
exit 1
fi
fi
fi
##### ACPLT shell variables #####
export LD_LIBRARY_PATH=$THISACPLTSYSTEM/system/addonlibs:$THISACPLTSYSTEM/system/syslibs:$LD_LIBRARY_PATH
SERVERDOMAIN="$THISACPLTSYSTEM/servers/$SERVERNAME"
##### Build Database and start the ov server #####
#FIXME use absolute path (concat from variables) and delete "cd $OLDPWD"
cd $SERVERDOMAIN
### Database ###
echo "Creating new database for $SERVERNAME."
RESULT=$(tclsh ../../system/systools/build_database.tcl | tail -1)
if [ "$RESULT" = "Database created!" ]; then
echo -e "\033[1;32m- OK\033[m"
else
echo -e "\033[1;31mDatabase clean up failed!\033[m"
echo "View log file for more information:"
echo "$SERVERDOMAIN/logfiles/log_builddb.txt"
cd $OLDPWD
exit 1 #Terminate indicating an error
fi
### Server ###
echo -e "Starting OV server $SERVERNAME."
$THISACPLTSYSTEM/system/sysbin/ov_runtimeserver.exe -c $SERVERDOMAIN/ov_server.conf -l $SERVERDOMAIN/logfiles/log_start_server.txt & 2>&1
SERVERPID=$!
sleep 0.5
if [ -e /proc/$SERVERPID ]; then
echo -e "\033[1;32m- OK. (Could not check PID to port assignment)\033[m"
# if [ "$(lsof -i:$SERVERPORT -t)" == "$SERVERPID" ]; then
# echo -e "\033[1;32m- OK\033[m"
# else
# echo -e "\033[1;31mServer start failed!\033[m"
# echo "Server process is running, but not listening on port ${SERVERPORT}. Killing Server."
# kill -TERM $SERVERPID
# cd $OLDPWD
# exit 1 #Terminate indicating an error
# fi
else
echo -e "\n\033[1;31mServer start failed!\033[m"
echo "View log file for more information:"
echo "$SERVERDOMAIN/logfiles/log_start_server.txt"
cd $OLDPWD
exit 1 #Terminate indicating an error
fi
cd $OLDPWD
}
loadFBD()
{
FBD=$1
echo -e "Loading $FBD."
rm -f $THISACPLTSYSTEM/templates/${FBD}.log
RESULT=$($THISACPLTSYSTEM/system/sysbin/fb_dbcommands -s ${SERVERIP}:7509/${SERVERNAME} -load -f $THISACPLTSYSTEM/templates/${FBD}.fbd 2>&1)
if [[ "$RESULT" == *"' geladen." ]]; then
echo -e "\033[1;32m- OK\033[m"
else
echo -e "\033[1;31m- Failed!\033[m See log file for more information:"
echo "$THISACPLTSYSTEM/templates/${FBD}.log"
echo $RESULT
fi
}
replaceNameAndLoad(){
FBD=$1
OLDNAME=$2
NEWNAME=$3
echo -e "Replacing $OLDNAME with $NEWNAME in $FBD"
rm -f $THISACPLTSYSTEM/templates/${FBD}.temp.log
cp -f $THISACPLTSYSTEM/templates/${FBD}.fbd $THISACPLTSYSTEM/templates/${FBD}.temp.fbd
sed -i 's/'$OLDNAME'/'$NEWNAME'/g' $THISACPLTSYSTEM/templates/${FBD}.temp.fbd
loadFBD $FBD".temp"
rm -f $THISACPLTSYSTEM/templates/${FBD}.temp.fbd
}
loadESE(){
CurrentESE=$1
IsShift=$2
IsTurn=$3
IsFurnace=$4
Xpos=$5
Ypos=$6
#Check if already exists
RESULT=$(curl -s "http://"$SERVERIP":"$SERVERPORT"/getVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".actimode")
regex="1|0;"
if [[ "$RESULT" =~ $regex ]]; then
echo -e "\033[1;32m- OK\033[m ESE $CurrentESE already exists in server."
return 0
fi
replaceNameAndLoad "basys/TechUnits_ESE_PX" "PX" $CurrentESE
echo "Configuring "$CurrentESE
### Set SSC States ###
echo -e "- Resetting SSC States: "
# Resetting SSCs
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/OrIn/Occ.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/Mode.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/Clearing.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/Clear.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/Abort.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Stop.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Reset.EN&newvalue=3"
#Enable SSCs after reset
sleep 0.1
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/OrIn/Occ.EN&newvalue=1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/Mode.EN&newvalue=1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode/Clearing.EN&newvalue=1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/ExMode.EN&newvalue=1"
#Disalbe unused RFM Outputs (No interference with oder blocks)
echo -e "\n- Disable unused RFM Outputs: "
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PU.actimode&newvalue="$IsShift
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PN.actimode&newvalue="$IsTurn
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/PL.actimode&newvalue="$IsTurn
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Interlock/Furnace.actimode&newvalue="$IsFurnace
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/Furnace.actimode&newvalue="$IsFurnace
# Disalbe unused Skills (for performance)
echo -e "\n- Disable unused Skills: "
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift.actimode&newvalue="$IsShift
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Turn.actimode&newvalue="$IsTurn
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Heat.actimode&newvalue="$IsFurnace
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift2.actimode&newvalue=0"
# Disalbe OpMode changes from pass to take
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/OpMode/hcon3877.on&newvalue=FALSE"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/OpMode/hcon5704.on&newvalue=FALSE"
### Configure Doors of Furnace ###
echo -e "\n- Configure Move for doors of furnace: "
[[ $IsFurnace = 1 ]] && Furnace="TRUE" || Furnace="FALSE"
[[ $IsFurnace = 1 ]] && NFurnace="FALSE" || NFurnace="TRUE"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/hcon1391.on&newvalue="$Furnace
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/hcon6458.on&newvalue="$Furnace
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/ready.result&newvalue="$NFurnace
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Move/end.result&newvalue="$NFurnace
### Set orderlist and executor ###
echo -e "\n- Set orderlist and delete services: "
ORDERLIST="\{BTAKE\}%20\{FTAKE\}%20\{BPASS\}%20\{FPASS\}%20\{JOG\}%20\{ABORT\}%20\{CLEAR\}%20\{RESET\}%20\{START\}%20\{HOLD\}%20\{UNHOLD\}%20\{SUSPEND\}%20\{UNSUSPEND\}%20\{STOP\}%20\{FREE\}%20\{OCCUPY\}%20\{PRIO\}%20\{AUTO\}%20\{MANUAL\}"
ORDEREXECUTOR="\{cmMode\}%20\{cmMode\}%20\{cmMode\}%20\{cmMode\}%20\{cmMode\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmOcc\}%20\{cmOcc\}%20\{cmOcc\}%20\{cmExe\}%20\{cmExe\}"
if [ "$IsShift" == "1" ]; then
ORDERLIST="\{USHIFT\}%20\{DSHIFT\}%20"$ORDERLIST
ORDEREXECUTOR="\{cmMode\}%20\{cmMode\}%20"$ORDEREXECUTOR
else
curl "http://"$SERVERIP":"$SERVERPORT"/deleteObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/SERVICES/USHIFT"
curl "http://"$SERVERIP":"$SERVERPORT"/deleteObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/SERVICES/DSHIFT"
fi
if [ "$IsTurn" == "1" ]; then
ORDERLIST="\{TURN\}%20"$ORDERLIST
ORDEREXECUTOR="\{cmMode\}%20"$ORDEREXECUTOR
else
curl "http://"$SERVERIP":"$SERVERPORT"/deleteObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/SERVICES/TURN"
fi
if [ "$IsFurnace" == "1" ]; then
ORDERLIST="\{HEAT\}%20"$ORDERLIST
ORDEREXECUTOR="\{cmMode\}%20"$ORDEREXECUTOR
else
#TODO add Service for Heat in ESE
:
#curl "http://"$SERVERIP":"$SERVERPORT"/deleteObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/SERVICES/TURN"
fi
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".ORDERLIST&newvalue="$ORDERLIST
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".ORDEREXECUTOR&newvalue="$ORDEREXECUTOR
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".Xpos&newvalue="$Xpos
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".Ypos&newvalue="$Ypos
### Delete type specific Outputs ###
echo -e "\n- Delete type specific Outputs: "
if [ "$IsShift" == "1" ]; then
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/Skills/Shift2/SHIFTPOS.value&newvalue=1"
else
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/c_SHIFTPOS.on&newvalue=FALSE"
curl "http://"$SERVERIP":"$SERVERPORT"/deleteObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/c_SHIFTPOS"
curl "http://"$SERVERIP":"$SERVERPORT"/unlink?format=plain&path=/TechUnits/ESE/"$CurrentESE".ports&element=/TechUnits/ESE/"$CurrentESE"/SHIFTPOS"
curl "http://"$SERVERIP":"$SERVERPORT"/deleteObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/SHIFTPOS"
fi
if [ "$IsFurnace" == "1" ]; then
:
else
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/c_TEMPFURN.on&newvalue=FALSE"
curl "http://"$SERVERIP":"$SERVERPORT"/deleteObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/c_TEMPFURN"
curl "http://"$SERVERIP":"$SERVERPORT"/unlink?format=plain&path=/TechUnits/ESE/"$CurrentESE".ports&element=/TechUnits/ESE/"$CurrentESE"/TEMPFURN"
curl "http://"$SERVERIP":"$SERVERPORT"/deleteObject?format=plain&path=/TechUnits/ESE/"$CurrentESE"/TEMPFURN"
fi
echo -e "\n"
}
loadESEProxy(){
CurrentESE=$1
IsShift=$2
IsTurn=$3
IsFurnace=$4
Xpos=$5
Ypos=$6
replaceNameAndLoad "basys/TechUnits_ESE_PXProxy" "PXProxy" $CurrentESE
echo "Configuring "$CurrentESE
### Set SSC States ###
echo -e "- Resetting SSC States: "
# Resetting SSCs
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/OrIn/Occ.EN&newvalue=3"
#Enable SSCs after reset
sleep 0.1
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE"/OrIn/Occ.EN&newvalue=1"
### Set orderlist and executor ###
echo -e "\n- Set orderlist and delete services: "
ORDERLIST="\{BTAKE\}%20\{FTAKE\}%20\{BPASS\}%20\{FPASS\}%20\{JOG\}%20\{RESET\}%20\{START\}%20\{STOP\}%20\{FREE\}%20\{OCCUPY\}%20\{PRIO\}"
ORDEREXECUTOR="\{cmMode\}%20\{cmMode\}%20\{cmMode\}%20\{cmMode\}%20\{cmMode\}%20\{cmExe\}%20\{cmExe\}%20\{cmExe\}%20\{cmOcc\}%20\{cmOcc\}%20\{cmOcc\}"
if [ "$IsShift" == "1" ]; then
ORDERLIST="\{USHIFT\}%20\{DSHIFT\}%20"$ORDERLIST
ORDEREXECUTOR="\{cmMode\}%20\{cmMode\}%20"$ORDEREXECUTOR
else
:
fi
if [ "$IsTurn" == "1" ]; then
ORDERLIST="\{TURN\}%20"$ORDERLIST
ORDEREXECUTOR="\{cmMode\}%20"$ORDEREXECUTOR
else
:
fi
if [ "$IsFurnace" == "1" ]; then
ORDERLIST="\{HEAT\}%20"$ORDERLIST
ORDEREXECUTOR="\{cmMode\}%20"$ORDEREXECUTOR
else
:
fi
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".ORDERLIST&newvalue="$ORDERLIST
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".ORDEREXECUTOR&newvalue="$ORDEREXECUTOR
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".Xpos&newvalue="$Xpos
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/ESE/"$CurrentESE".Ypos&newvalue="$Ypos
echo -e "\n"
}
loadGSE(){
CurrentESE=$1
CurrentPos=$2
Xpos=$3
Ypos=$4
FBD="basys/TechUnits_GSE_PX"$5
replaceNameAndLoad $FBD "PX" $CurrentESE
echo "Configuring "$CurrentESE
###
#reset
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/OrIn/Occ.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/ExMode/Mode.EN&newvalue=3"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/Skills/PImage/CStatusExt.doReset&newvalue=TRUE"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/Skills/PImage/NStatusExt.doReset&newvalue=TRUE"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/Interlock/SetCCMDext.doReset&newvalue=TRUE"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/Interlock/SetNCMDext.doReset&newvalue=TRUE"
sleep 0.5
#set
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/OrIn/Occ.EN&newvalue=1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/ExMode/Mode.EN&newvalue=1"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/Skills/PImage/CStatusExt.doCyclic&newvalue=TRUE"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/Skills/PImage/NStatusExt.doCyclic&newvalue=TRUE"
### Set X/Y Pos and Current position
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE"/Current.value&newvalue="$CurrentPos
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE".Xpos&newvalue="$Xpos
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/"$CurrentESE".Ypos&newvalue="$Ypos
echo -e "\n"
}
#!/bin/bash
# no parameter: start server and load fbds
# parameter 1: -r --> restarts server
# -l --> only load and configure fbds
##### Custom paths #####
THISACPLTSYSTEM=$(pwd)/..
SERVERNAME="GSE"
SERVERPORT="7511"
SERVERIP="localhost"
##### Functions ######
. ./functions.sh
##### start Server #####
startServer $1
echo -e "Waiting 5sec for Server to register at MANAGER."
sleep 5
##### Configure server ######
# Set cycletime
echo -e "Setting cyctime to 0.05"
curl "http://$SERVERIP:"$SERVERPORT"/setVar?format=plain&path=/Tasks/UrTask.cyctime&newvalue=0.05"
echo -e "\n"
##### Load the fbds #####
#loadFBD "basys/TechUnits_Topology-erweitert"
loadFBD "basys/TechUnits_Topology"
#loadPaletts
loadGSE "PA001" "PE0025" 0 100
#loadGSE "PA002" "PE031" 360 100
#loadGSE "PA003" "PE027" 540 100
#config Topologyagent #TODO write function for config
#PALETTELIST="\{/TechUnits/GSE/PA001\}"
PALETTELIST="\{/TechUnits/GSE/PA001\}%20\{/TechUnits/GSE/PA002\}%20\{/TechUnits/GSE/PA003\}"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/TopologyAgent.PalettePaths&newvalue="$PALETTELIST
# Set shift direction
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/PA001/Skills/Move/Execute/UorD.IN1&newvalue=DSHIFT"
curl "http://"$SERVERIP":"$SERVERPORT"/setVar?format=plain&path=/TechUnits/GSE/PA001/Skills/Move/Execute/UorD.IN2&newvalue=USHIFT"
echo -e "\n\033[1;32mDone\033[m"
exit
#!/bin/bash
# no parameter: start server and load fbds
# parameter 1: -r --> restarts server
# -l --> only load and configure fbds
##### Custom paths #####
THISACPLTSYSTEM=$(pwd)/..
SERVERNAME="HMI"
SERVERPORT="7508"
SERVERIP="localhost"
##### Functions ######
. ./functions.sh
##### start Server #####
#startServer $1
echo -e "Waiting 5sec for Server to register at MANAGER."
sleep 5
##### Load the fbds #####
loadFBD "basys/StaticDisplayComponent"
loadFBD "basys/Templates_Engineering"
loadFBD "basys/Sheet_EngineeringFB"
loadFBD "basys/data_kshttp_ese"
loadFBD "basys/data_kshttp_gse"
echo -e "\033[1;32mDone\033[m"
exit
#!/bin/bash
# no parameter: start server and load fbds
# parameter 1: -r --> restarts server
# -l --> only load and configure fbds
##### Custom paths #####
THISACPLTSYSTEM=$(pwd)/..
SERVERNAME="MANAGER"
SERVERPORT="7509"
SERVERIP="localhost"
##### Functions ######
. ./functions.sh
##### start Server #####
startServer $1
echo -e "\n\033[1;32mDone\033[m"
exit
#!/bin/bash
# no parameter: start server and load fbds
# parameter 1: -r --> restarts server
# -l --> only load and configure fbds
##### Custom paths #####
THISACPLTSYSTEM=$(pwd)/..
SERVERNAME="PROC"
SERVERPORT="7512"
SERVERIP="localhost"
##### Functions ######
. ./functions.sh
##### start Server #####
startServer $1
echo -e "Waiting 5sec for Server to register at MANAGER."
sleep 5
##### Load the fbds #####
loadFBD "basys/TechUnits_PROC_M1"
replaceNameAndLoad "basys/TechUnits_PROC_M1" "M1" "M2"
replaceNameAndLoad "basys/TechUnits_PROC_M1" "M1" "M3"
replaceNameAndLoad "basys/TechUnits_PROC_M1" "M1" "M4"
replaceNameAndLoad "basys/TechUnits_PROC_M1" "M1" "M5"
##### Configure server ######
# Set cycletime to 0.1 sec
echo -e "Setting cyctime to 0.5"
curl "http://localhost:"$SERVERPORT"/setVar?format=plain&path=/Tasks/UrTask.cyctime&newvalue=0.05"
echo -e "\n"
echo -e "\n\033[1;32mDone\033[m"
exit
@echo off
rem dient nur als Windows-Aufrufschell fr das Skript build_database.tcl
"%~dp0..\..\system\sysbin\tclsh" "%~dp0..\..\system\systools\build_database.tcl"
PAUSE
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment