bnt_modell.awl 78 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690
  1. DATA_BLOCK "OB1_Daten"
  2. TITLE =
  3. VERSION : 0.1
  4. STRUCT
  5. SK1_Schritt_Nr : INT ;
  6. SK2_Schritt_Nr : INT ;
  7. SK3_Schritt_Nr : INT ;
  8. SK3_Schritt_Nr_2 : INT ;
  9. Schiebereg_Fuellstand : INT ;
  10. END_STRUCT ;
  11. BEGIN
  12. SK1_Schritt_Nr := 0;
  13. SK2_Schritt_Nr := 0;
  14. SK3_Schritt_Nr := 0;
  15. SK3_Schritt_Nr_2 := 0;
  16. Schiebereg_Fuellstand := 0;
  17. END_DATA_BLOCK
  18. FUNCTION_BLOCK "Schieberegister"
  19. TITLE =Schieberegister (FIFO) für 5 Elemente
  20. VERSION : 0.1
  21. VAR_INPUT
  22. Dicke_Eingang : WORD ;
  23. Farbe_Eingang : BOOL ;
  24. Einschieben : BOOL ;
  25. Ausschieben : BOOL ;
  26. reset : BOOL ;
  27. END_VAR
  28. VAR_OUTPUT
  29. Anzahl_Teile : INT ;
  30. Farbe_Ausgang : BOOL ;
  31. Dicke_Ausgang : WORD ;
  32. END_VAR
  33. VAR
  34. Fuellstand : WORD ;
  35. FM_Einschieben : BOOL ;
  36. FM_Ausschieben : BOOL ;
  37. Dicke_0 : WORD ;
  38. Farbe_0 : BOOL ;
  39. Dicke_1 : WORD ;
  40. Farbe_1 : BOOL ;
  41. Dicke_2 : WORD ;
  42. Farbe_2 : BOOL ;
  43. Dicke_3 : WORD ;
  44. Farbe_3 : BOOL ;
  45. Dicke_4 : WORD ;
  46. Farbe_4 : BOOL ;
  47. END_VAR
  48. VAR_TEMP
  49. Zaehler : INT ;
  50. END_VAR
  51. BEGIN
  52. NETWORK
  53. TITLE =Element einfügen
  54. U #Einschieben;
  55. FP #FM_Einschieben;
  56. SPBN Eend;
  57. L #Fuellstand;
  58. L 5;
  59. >=I ; //Sicherheitsabfrage: Überlauf
  60. SPB Eend;
  61. L #Fuellstand; //Überprüfung ob Schreibpuffer leer
  62. L 0;
  63. ==I ;
  64. SPB Schr; //Schreiben
  65. L #Fuellstand;
  66. next: T #Zaehler;
  67. L 1; //Schreibindex errechnen
  68. -D ;
  69. L P#4.0; //Mit dem Abstand der Elemente multiplizieren
  70. *D ;
  71. L P##Dicke_0; //Zeiger auf erstes Element
  72. +D ; //Elementoffset addieren
  73. LAR1 ; //Zeigerregister AR1 laden
  74. U [AR1,P#2.0]; //Position von Farbe im Register
  75. = [AR1,P#6.0]; //Position nächste Farbe im Register
  76. L W [AR1,P#0.0]; //Position Dicke im Register
  77. T W [AR1,P#4.0]; //Position nächste Dicke im Register
  78. L #Zaehler;
  79. LOOP next; //LOOP (AKKU-1, weiter bis AKKU=0)
  80. Schr: U #Farbe_Eingang; //Eingangselement abspeichern
  81. = #Farbe_0;
  82. L #Dicke_Eingang;
  83. T #Dicke_0;
  84. L #Fuellstand; //Fuellstand um 1 erhöhen
  85. L 1;
  86. +I ;
  87. T #Fuellstand;
  88. Eend: NOP 0;
  89. NETWORK
  90. TITLE =Element entnehmen
  91. U #Ausschieben;
  92. FP #FM_Ausschieben;
  93. SPBN Aend;
  94. L #Fuellstand;
  95. L 0;
  96. <=I ; //Sicherheitsabfrage: Kein Element im Register
  97. SPB Aend;
  98. L #Fuellstand;
  99. L 1;
  100. -D ;
  101. L P#4.0; //Mit dem Abstand der Elemente multiplizieren
  102. *D ;
  103. L P##Dicke_0; //Zeiger auf erstes Element
  104. +D ; //Elementoffset addieren
  105. LAR1 ; //Zeigerregister AR1 laden
  106. U [AR1,P#2.0]; //Position von Farbe im Register
  107. = #Farbe_Ausgang;
  108. L W [AR1,P#0.0]; //Position Dicke im Register
  109. T #Dicke_Ausgang;
  110. CLR ; //Position im Register mit 0 überschreiben
  111. = [AR1,P#2.0];
  112. L 0;
  113. T W [AR1,P#0.0];
  114. L #Fuellstand; //Fuellstand um 1 erniedrigen
  115. L 1;
  116. -I ;
  117. T #Fuellstand;
  118. Aend: NOP 0;
  119. NETWORK
  120. TITLE =Reset: Alles löschen
  121. U #reset; //Reset liegt an?
  122. SPBN nrst;
  123. CLR ;
  124. L 0;
  125. T #Fuellstand; //Füllstand rücksetzen
  126. T #Dicke_Ausgang; //Dickenausgabe rücksetzen
  127. = #Farbe_Ausgang; //Farbenausgabe rücksetzen
  128. //Elle Elemente im Schieberegister löschen
  129. L 5; //Über jedes Element iterieren
  130. rloo: T #Zaehler;
  131. L 1;
  132. -D ;
  133. L P#4.0; //Mit Abstand der Elemente multiplizieren
  134. *D ;
  135. L P##Dicke_0; //Zeiger auf erstes Element
  136. +D ; //Elementoffset addieren
  137. LAR1 ; //Zeigerregister AR1 laden
  138. CLR ; //Element mit 0 überschreiben
  139. = [AR1,P#2.0];
  140. L 0;
  141. T W [AR1,P#0.0];
  142. L #Zaehler;
  143. LOOP rloo; //Nächstes Element
  144. nrst: NOP 0;
  145. NETWORK
  146. TITLE =Ausgangssignal: Anzahl Teile
  147. L #Fuellstand; //Füllstand ausgeben
  148. T #Anzahl_Teile;
  149. END_FUNCTION_BLOCK
  150. DATA_BLOCK "DB_Schiebereg_Band"
  151. TITLE =
  152. VERSION : 0.0
  153. "Schieberegister"
  154. BEGIN
  155. Dicke_Eingang := W#16#0;
  156. Farbe_Eingang := FALSE;
  157. Einschieben := FALSE;
  158. Ausschieben := FALSE;
  159. reset := FALSE;
  160. Anzahl_Teile := 0;
  161. Farbe_Ausgang := FALSE;
  162. Dicke_Ausgang := W#16#0;
  163. Fuellstand := W#16#0;
  164. FM_Einschieben := FALSE;
  165. FM_Ausschieben := FALSE;
  166. Dicke_0 := W#16#0;
  167. Farbe_0 := FALSE;
  168. Dicke_1 := W#16#0;
  169. Farbe_1 := FALSE;
  170. Dicke_2 := W#16#0;
  171. Farbe_2 := FALSE;
  172. Dicke_3 := W#16#0;
  173. Farbe_3 := FALSE;
  174. Dicke_4 := W#16#0;
  175. Farbe_4 := FALSE;
  176. END_DATA_BLOCK
  177. FUNCTION_BLOCK "Eingaenge_Schrittkette_1"
  178. TITLE =
  179. VERSION : 0.1
  180. VAR_OUTPUT
  181. T1_2 : BOOL ;
  182. T2_3 : BOOL ;
  183. T3_4 : BOOL ;
  184. T4_5 : BOOL ;
  185. T5_6 : BOOL ;
  186. T6_7 : BOOL ;
  187. T7_1 : BOOL ;
  188. T3_10 : BOOL ;
  189. T10_1 : BOOL ;
  190. END_VAR
  191. BEGIN
  192. NETWORK
  193. TITLE =
  194. U "1B3";
  195. U "1S2";
  196. U "1S2";
  197. U "2B5";
  198. = #T1_2;
  199. NETWORK
  200. TITLE =
  201. U "1B2";
  202. = #T2_3;
  203. NETWORK
  204. TITLE =
  205. U "1S1";
  206. = #T3_4;
  207. NETWORK
  208. TITLE =
  209. U "1S3";
  210. UN "2B2";
  211. = #T4_5;
  212. NETWORK
  213. TITLE =
  214. U "1B1";
  215. U "2B5";
  216. = #T5_6;
  217. NETWORK
  218. TITLE =
  219. U "1S2";
  220. = #T6_7;
  221. NETWORK
  222. TITLE =
  223. U "2B2";
  224. = #T7_1;
  225. NETWORK
  226. TITLE =
  227. U "T_zw_1B1_1S1";
  228. = #T3_10;
  229. NETWORK
  230. TITLE =Magazinbefüllung quittieren
  231. U "Quit";
  232. = #T10_1;
  233. END_FUNCTION_BLOCK
  234. DATA_BLOCK "DB_Transitionen_SK1"
  235. TITLE =
  236. VERSION : 0.0
  237. "Eingaenge_Schrittkette_1"
  238. BEGIN
  239. T1_2 := FALSE;
  240. T2_3 := FALSE;
  241. T3_4 := FALSE;
  242. T4_5 := FALSE;
  243. T5_6 := FALSE;
  244. T6_7 := FALSE;
  245. T7_1 := FALSE;
  246. T3_10 := FALSE;
  247. T10_1 := FALSE;
  248. END_DATA_BLOCK
  249. FUNCTION_BLOCK "Ausgaenge_Schrittkette_1"
  250. TITLE =
  251. VERSION : 0.1
  252. VAR_INPUT
  253. Schritt_Nr : INT ;
  254. Reset : BOOL ;
  255. Aktorfreigabe : BOOL ;
  256. Aktornummer : INT ;
  257. Aktor_vor : BOOL ;
  258. Aktor_zurueck : BOOL ;
  259. END_VAR
  260. VAR
  261. Merker1 : BOOL ;
  262. Merker2 : BOOL ;
  263. Merker3 : BOOL ;
  264. Merker4 : BOOL ;
  265. Merker5 : BOOL ;
  266. Merker6 : BOOL ;
  267. Merker7 : BOOL ;
  268. END_VAR
  269. BEGIN
  270. NETWORK
  271. TITLE =1Y1.10 = 1; Magazinschieber fährt nach hinten
  272. U( ;
  273. U( ;
  274. O( ;
  275. L 10;
  276. L #Schritt_Nr;
  277. ==I ;
  278. ) ;
  279. O( ;
  280. L #Schritt_Nr;
  281. L 1;
  282. ==I ;
  283. ) ;
  284. O( ;
  285. L #Schritt_Nr;
  286. L 6;
  287. ==I ;
  288. ) ;
  289. ) ;
  290. S #Merker1;
  291. U( ;
  292. O( ;
  293. L 2;
  294. L #Schritt_Nr;
  295. ==I ;
  296. ) ;
  297. O #Reset;
  298. ) ;
  299. R #Merker1;
  300. U #Merker1;
  301. ) ;
  302. U #Aktorfreigabe;
  303. O ;
  304. U( ;
  305. L #Aktornummer;
  306. L 101;
  307. ==I ;
  308. ) ;
  309. U #Aktor_zurueck;
  310. = "1Y1.10";
  311. NETWORK
  312. TITLE =1Y1.11 = 1;Magazinschieber fährt nach vorne
  313. U( ;
  314. U( ;
  315. L #Schritt_Nr;
  316. L 2;
  317. ==I ;
  318. ) ;
  319. S #Merker2;
  320. U( ;
  321. O( ;
  322. L 10;
  323. L #Schritt_Nr;
  324. ==I ;
  325. ) ;
  326. O( ;
  327. L #Schritt_Nr;
  328. L 6;
  329. ==I ;
  330. ) ;
  331. O( ;
  332. L 1;
  333. L #Schritt_Nr;
  334. ==I ;
  335. ) ;
  336. O #Reset;
  337. ) ;
  338. R #Merker2;
  339. U #Merker2;
  340. ) ;
  341. U #Aktorfreigabe;
  342. O ;
  343. U( ;
  344. L #Aktornummer;
  345. L 101;
  346. ==I ;
  347. ) ;
  348. U #Aktor_vor;
  349. = "1Y1.11";
  350. NETWORK
  351. TITLE =1Y2.10 = 1; Vakuum wird ausgeschaltet
  352. U( ;
  353. U( ;
  354. O( ;
  355. L 1;
  356. L #Schritt_Nr;
  357. ==I ;
  358. ) ;
  359. O( ;
  360. L 7;
  361. L #Schritt_Nr;
  362. ==I ;
  363. ) ;
  364. ) ;
  365. S #Merker3;
  366. U( ;
  367. O( ;
  368. L 5;
  369. L #Schritt_Nr;
  370. ==I ;
  371. ) ;
  372. O #Reset;
  373. ) ;
  374. R #Merker3;
  375. U #Merker3;
  376. ) ;
  377. U #Aktorfreigabe;
  378. O ;
  379. U #Aktor_zurueck;
  380. U( ;
  381. L #Aktornummer;
  382. L 102;
  383. ==I ;
  384. ) ;
  385. = "1Y2.10";
  386. NETWORK
  387. TITLE =1Y2.11 = 1; Vakuum wird eingeschaltet
  388. U( ;
  389. U( ;
  390. L 5;
  391. L #Schritt_Nr;
  392. ==I ;
  393. ) ;
  394. S #Merker4;
  395. U( ;
  396. O( ;
  397. L 7;
  398. L #Schritt_Nr;
  399. ==I ;
  400. ) ;
  401. O( ;
  402. L 1;
  403. L #Schritt_Nr;
  404. ==I ;
  405. ) ;
  406. O #Reset;
  407. ) ;
  408. R #Merker4;
  409. U #Merker4;
  410. ) ;
  411. U #Aktorfreigabe;
  412. O ;
  413. U #Aktor_vor;
  414. U( ;
  415. L #Aktornummer;
  416. L 102;
  417. ==I ;
  418. ) ;
  419. = "1Y2.11";
  420. NETWORK
  421. TITLE =1Y3.10 = 1; Rotor (Umsetzer) fährt in Stellung "Magazin"
  422. U( ;
  423. U( ;
  424. L 4;
  425. L #Schritt_Nr;
  426. ==I ;
  427. ) ;
  428. S #Merker5;
  429. U( ;
  430. O( ;
  431. L 6;
  432. L #Schritt_Nr;
  433. ==I ;
  434. ) ;
  435. O( ;
  436. L 1;
  437. L #Schritt_Nr;
  438. ==I ;
  439. ) ;
  440. O #Reset;
  441. ) ;
  442. R #Merker5;
  443. U #Merker5;
  444. ) ;
  445. U #Aktorfreigabe;
  446. O ;
  447. U #Aktor_zurueck;
  448. U( ;
  449. L #Aktornummer;
  450. L 103;
  451. ==I ;
  452. ) ;
  453. = "1Y3.10";
  454. NETWORK
  455. TITLE =1Y3.11 = 1; Rotor (Umsetzer) fährt in Stellung "Prüfen"
  456. U( ;
  457. U( ;
  458. U( ;
  459. O( ;
  460. L 6;
  461. L #Schritt_Nr;
  462. ==I ;
  463. ) ;
  464. O( ;
  465. L 1;
  466. L #Schritt_Nr;
  467. ==I ;
  468. ) ;
  469. ) ;
  470. S #Merker6;
  471. U( ;
  472. O( ;
  473. L 4;
  474. L #Schritt_Nr;
  475. ==I ;
  476. ) ;
  477. O #Reset;
  478. ) ;
  479. R #Merker6;
  480. U #Merker6;
  481. ) ;
  482. U #Aktorfreigabe;
  483. O ;
  484. U #Aktor_vor;
  485. U( ;
  486. L #Aktornummer;
  487. L 103;
  488. ==I ;
  489. ) ;
  490. ) ;
  491. U "2B6";
  492. = "1Y3.11";
  493. NETWORK
  494. TITLE =Zeitunterschied zw. 1B1 und 1S1
  495. U( ;
  496. L 3;
  497. L #Schritt_Nr;
  498. ==I ;
  499. ) ;
  500. L S5T#1S;
  501. SE "T_zw_1B1_1S1";
  502. U( ;
  503. O( ;
  504. L 4;
  505. L #Schritt_Nr;
  506. ==I ;
  507. ) ;
  508. O #Reset;
  509. O( ;
  510. L 10;
  511. L #Schritt_Nr;
  512. ==I ;
  513. ) ;
  514. ) ;
  515. R "T_zw_1B1_1S1";
  516. NOP 0;
  517. NOP 0;
  518. NOP 0;
  519. NETWORK
  520. TITLE =H_Mag_Leer = 1; Lampe Magazin leer
  521. L 10;
  522. L #Schritt_Nr;
  523. ==I ;
  524. = L 0.0;
  525. U L 0.0;
  526. BLD 102;
  527. = "H_Mag_Leer";
  528. U L 0.0;
  529. U "Automatikbetrieb";
  530. = "Hupe";
  531. END_FUNCTION_BLOCK
  532. DATA_BLOCK "DB_Ausgänge_SK1"
  533. TITLE =
  534. VERSION : 0.0
  535. "Ausgaenge_Schrittkette_1"
  536. BEGIN
  537. Schritt_Nr := 0;
  538. Reset := FALSE;
  539. Aktorfreigabe := FALSE;
  540. Aktornummer := 0;
  541. Aktor_vor := FALSE;
  542. Aktor_zurueck := FALSE;
  543. Merker1 := FALSE;
  544. Merker2 := FALSE;
  545. Merker3 := FALSE;
  546. Merker4 := FALSE;
  547. Merker5 := FALSE;
  548. Merker6 := FALSE;
  549. Merker7 := FALSE;
  550. END_DATA_BLOCK
  551. FUNCTION_BLOCK "Eingänge_Schrittkette_2"
  552. TITLE =
  553. VERSION : 0.1
  554. VAR_INPUT
  555. fuellstand_schieberegist : INT ;
  556. END_VAR
  557. VAR_OUTPUT
  558. T1_2 : BOOL ;
  559. T2_3 : BOOL ;
  560. T3_4 : BOOL ;
  561. T4_5 : BOOL ;
  562. T5_6 : BOOL ;
  563. T6_7 : BOOL ;
  564. T7_1 : BOOL ;
  565. T1_9 : BOOL ;
  566. T9_10 : BOOL ;
  567. T10_1 : BOOL ;
  568. T4_11 : BOOL ;
  569. T11_12 : BOOL ;
  570. T12_13 : BOOL ;
  571. T13_7 : BOOL ;
  572. END_VAR
  573. BEGIN
  574. NETWORK
  575. TITLE =1Y3.10 = 1; Rotor (Umsetzer) fährt in Stellung "Magazin"
  576. U "1Y3.10";
  577. UN "2B3";
  578. U "2B2";
  579. = #T1_2;
  580. NETWORK
  581. TITLE =
  582. U "2B7";
  583. = #T2_3;
  584. NETWORK
  585. TITLE =
  586. U "T_Pruefen";
  587. = #T3_4;
  588. NETWORK
  589. TITLE =
  590. UN "Erster_Zyklus";
  591. U "4B6";
  592. U( ;
  593. L #fuellstand_schieberegist;
  594. L 4;
  595. <=I ;
  596. ) ;
  597. UN "3B1";
  598. = #T4_5;
  599. NETWORK
  600. TITLE =
  601. UN "T_Bandzeit";
  602. U "2B4";
  603. = #T5_6;
  604. NETWORK
  605. TITLE =
  606. U "1S3";
  607. U "2B5";
  608. = #T6_7;
  609. NETWORK
  610. TITLE =
  611. U "2B6";
  612. = #T7_1;
  613. NETWORK
  614. TITLE =
  615. U "1S3";
  616. U "2B3";
  617. = #T1_9;
  618. NETWORK
  619. TITLE =
  620. U "2B4";
  621. = #T9_10;
  622. NETWORK
  623. TITLE =
  624. U "2B5";
  625. = #T10_1;
  626. NETWORK
  627. TITLE =
  628. U "Erster_Zyklus";
  629. UN "3B1";
  630. U( ;
  631. L #fuellstand_schieberegist;
  632. L 1;
  633. ==I ;
  634. ) ;
  635. U "4B6";
  636. = #T4_11;
  637. NETWORK
  638. TITLE =
  639. U "2B4";
  640. = #T11_12;
  641. NETWORK
  642. TITLE =
  643. U "3B1";
  644. = #T12_13;
  645. NETWORK
  646. TITLE =
  647. U "1S3";
  648. U "2B5";
  649. = #T13_7;
  650. END_FUNCTION_BLOCK
  651. DATA_BLOCK "DB_Transitionen_SK2"
  652. TITLE =
  653. VERSION : 0.0
  654. "Eingänge_Schrittkette_2"
  655. BEGIN
  656. fuellstand_schieberegist := 0;
  657. T1_2 := FALSE;
  658. T2_3 := FALSE;
  659. T3_4 := FALSE;
  660. T4_5 := FALSE;
  661. T5_6 := FALSE;
  662. T6_7 := FALSE;
  663. T7_1 := FALSE;
  664. T1_9 := FALSE;
  665. T9_10 := FALSE;
  666. T10_1 := FALSE;
  667. T4_11 := FALSE;
  668. T11_12 := FALSE;
  669. T12_13 := FALSE;
  670. T13_7 := FALSE;
  671. END_DATA_BLOCK
  672. FUNCTION_BLOCK "Betriebsarten"
  673. TITLE =
  674. VERSION : 0.1
  675. VAR_INPUT
  676. STG_AUS : BOOL := TRUE; //Steuerung aus
  677. STG_EIN : BOOL ; //Steuerung ein
  678. Start : BOOL ; //Start Automatikbetrieb
  679. Auto : BOOL ; //Betriebsart Automatikbetrieb
  680. EmB : BOOL ; //Betriebsart Einzelschritt mit Bedingungen
  681. EoB : BOOL ; //Betriebsart Einzelschritt ohne Bedingungen
  682. EINR : BOOL ; //Betriebsart Einrichtbetrieb
  683. ZYKLUS : BOOL := TRUE; //zyklus EIN/AUS
  684. NOT_AUS : BOOL ; //Notaus
  685. AKTOR_FR : BOOL := TRUE; //Aktionsfreigabe
  686. GST_ANL : BOOL ; //Anlage in Grundstellung (Signal von Anlage)
  687. Tippen : BOOL ; //Einzelschritt- Weiterschaltung der Schrittkette (EMBundEOB)
  688. Quitt : BOOL ; //Erzeugung reset- Signal
  689. END_VAR
  690. VAR_OUTPUT
  691. ANZ_STG : BOOL ; //Anzeige Steuerung Ein aus
  692. ANZ_AUTO : BOOL ; //Anzeige Automatik Ein aus
  693. ANZ_EmB : BOOL ; //Anzeige Einzelschritt mit Bedingungen Ein Aus
  694. ANZ_EoB : BOOL ; //Anzeige Einzelschritt ohne Bedingungen Ein aus
  695. ANZ_EINR : BOOL ; //Anzeige Einrichten Ein Aus
  696. ANZ_ZYK_E : BOOL ; //Anzeige Zyklus Ein
  697. ANZ_ZYK_A : BOOL ; //Anzeige zyklus Aus
  698. Reset : BOOL ; //Signal Rücksetzten B0
  699. FR_K_mB : BOOL ; //Signal Weiterschalten mit Bedingungen B1
  700. FR_K_oB : BOOL ; //Signal Weiterschalten ohne Bedingungen B2
  701. FR_AKTION : BOOL ; //Signal Freigabe der Aktion B3
  702. END_VAR
  703. VAR
  704. STEU_EIN : BOOL ; //Hilfsvariable Steuerung eingeschaltet
  705. AUTO_EIN : BOOL ; //Hilfsvariable Automatikbetrieb eingeschaltet
  706. TIPPEN_SP : BOOL ; //Speichervariable für tippen
  707. F02 : BOOL ; //Hilfsvariable Flankenerkennung TIPPEN
  708. IO_WEITER : BOOL ; //Weiterschltimpuls im Einzelschrittbetrieb
  709. END_VAR
  710. BEGIN
  711. NETWORK
  712. TITLE =
  713. U #STG_EIN;
  714. S #STEU_EIN;
  715. U( ;
  716. ON #STG_AUS;
  717. ON #NOT_AUS;
  718. ) ;
  719. R #STEU_EIN;
  720. U #STEU_EIN;
  721. = #ANZ_STG;
  722. NETWORK
  723. TITLE =
  724. U #Auto;
  725. U #Start;
  726. S #AUTO_EIN;
  727. U( ;
  728. ON #Auto;
  729. ON #STEU_EIN;
  730. ) ;
  731. R #AUTO_EIN;
  732. U #AUTO_EIN;
  733. = #ANZ_AUTO;
  734. NETWORK
  735. TITLE =
  736. U #STEU_EIN;
  737. U #EmB;
  738. = #ANZ_EmB;
  739. NETWORK
  740. TITLE =
  741. U #STEU_EIN;
  742. U #EoB;
  743. = #ANZ_EoB;
  744. NETWORK
  745. TITLE =
  746. U #AUTO_EIN;
  747. U #STEU_EIN;
  748. U #ZYKLUS;
  749. = #ANZ_ZYK_E;
  750. NETWORK
  751. TITLE =
  752. U #STEU_EIN;
  753. UN #ZYKLUS;
  754. U #AUTO_EIN;
  755. = #ANZ_ZYK_A;
  756. NETWORK
  757. TITLE =
  758. U #STEU_EIN;
  759. U #EINR;
  760. = #ANZ_EINR;
  761. NETWORK
  762. TITLE =
  763. UN #Auto;
  764. U( ;
  765. U #Tippen;
  766. FP #F02;
  767. ) ;
  768. U #STEU_EIN;
  769. = #IO_WEITER;
  770. NETWORK
  771. TITLE =
  772. U #ANZ_EmB;
  773. U #IO_WEITER;
  774. O #AUTO_EIN;
  775. = #FR_K_mB;
  776. NETWORK
  777. TITLE =
  778. UN #Auto;
  779. U #ANZ_EoB;
  780. U #IO_WEITER;
  781. = #FR_K_oB;
  782. NETWORK
  783. TITLE =
  784. U( ;
  785. O #AUTO_EIN;
  786. O ;
  787. U( ;
  788. U #Tippen;
  789. S #TIPPEN_SP;
  790. UN #STEU_EIN;
  791. R #TIPPEN_SP;
  792. U #TIPPEN_SP;
  793. ) ;
  794. U #ANZ_EmB;
  795. O ;
  796. U #ANZ_EoB;
  797. U #AKTOR_FR;
  798. ) ;
  799. U #STEU_EIN;
  800. = #FR_AKTION;
  801. NETWORK
  802. TITLE =
  803. UN #STEU_EIN;
  804. U #NOT_AUS;
  805. U #GST_ANL;
  806. U #Quitt;
  807. = #Reset;
  808. END_FUNCTION_BLOCK
  809. DATA_BLOCK "DB_Betriebsarten"
  810. TITLE =
  811. VERSION : 0.0
  812. "Betriebsarten"
  813. BEGIN
  814. STG_AUS := TRUE;
  815. STG_EIN := FALSE;
  816. Start := FALSE;
  817. Auto := FALSE;
  818. EmB := FALSE;
  819. EoB := FALSE;
  820. EINR := FALSE;
  821. ZYKLUS := TRUE;
  822. NOT_AUS := FALSE;
  823. AKTOR_FR := TRUE;
  824. GST_ANL := FALSE;
  825. Tippen := FALSE;
  826. Quitt := FALSE;
  827. ANZ_STG := FALSE;
  828. ANZ_AUTO := FALSE;
  829. ANZ_EmB := FALSE;
  830. ANZ_EoB := FALSE;
  831. ANZ_EINR := FALSE;
  832. ANZ_ZYK_E := FALSE;
  833. ANZ_ZYK_A := FALSE;
  834. Reset := FALSE;
  835. FR_K_mB := FALSE;
  836. FR_K_oB := FALSE;
  837. FR_AKTION := FALSE;
  838. STEU_EIN := FALSE;
  839. AUTO_EIN := FALSE;
  840. TIPPEN_SP := FALSE;
  841. F02 := FALSE;
  842. IO_WEITER := FALSE;
  843. END_DATA_BLOCK
  844. FUNCTION_BLOCK "Schrittkette 1 (Magazin)"
  845. TITLE =
  846. VERSION : 0.1
  847. VAR_INPUT
  848. T1_2 : BOOL ;
  849. T2_3 : BOOL := TRUE;
  850. T3_4 : BOOL := TRUE;
  851. T3_10 : BOOL := TRUE;
  852. T4_5 : BOOL := TRUE;
  853. T5_6 : BOOL := TRUE;
  854. T6_7 : BOOL := TRUE;
  855. T7_1 : BOOL := TRUE;
  856. T10_1 : BOOL := TRUE;
  857. Reset : BOOL ;
  858. Weiter_oB : BOOL ;
  859. Weiter_mB : BOOL ;
  860. END_VAR
  861. VAR_OUTPUT
  862. Schritt : INT ;
  863. END_VAR
  864. VAR
  865. SM_1 : BOOL := TRUE;
  866. SM_2 : BOOL ;
  867. SM_3 : BOOL ;
  868. SM_4 : BOOL ;
  869. SM_5 : BOOL ;
  870. SM_6 : BOOL ;
  871. SM_7 : BOOL ;
  872. SM_10 : BOOL ;
  873. END_VAR
  874. BEGIN
  875. NETWORK
  876. TITLE =
  877. U( ;
  878. U( ;
  879. O #Reset;
  880. O ;
  881. U( ;
  882. UN #SM_3;
  883. U #SM_10;
  884. O ;
  885. UN #SM_6;
  886. U #SM_7;
  887. ) ;
  888. U( ;
  889. U( ;
  890. U #T7_1;
  891. U #SM_7;
  892. O ;
  893. U #T10_1;
  894. U #SM_10;
  895. ) ;
  896. U #Weiter_mB;
  897. O #Weiter_oB;
  898. ) ;
  899. ) ;
  900. S #SM_1;
  901. U #SM_2;
  902. R #SM_1;
  903. U #SM_1;
  904. ) ;
  905. SPBNB _001;
  906. L 1;
  907. T #Schritt;
  908. _001: NOP 0;
  909. NETWORK
  910. TITLE =
  911. U( ;
  912. UN #SM_10;
  913. U( ;
  914. U #Weiter_mB;
  915. U #T1_2;
  916. O #Weiter_oB;
  917. ) ;
  918. U #SM_1;
  919. S #SM_2;
  920. U( ;
  921. O #SM_3;
  922. O #Reset;
  923. ) ;
  924. R #SM_2;
  925. U #SM_2;
  926. ) ;
  927. SPBNB _002;
  928. L 2;
  929. T #Schritt;
  930. _002: NOP 0;
  931. NETWORK
  932. TITLE =
  933. U( ;
  934. U #SM_2;
  935. U( ;
  936. U #T2_3;
  937. U #Weiter_mB;
  938. O #Weiter_oB;
  939. ) ;
  940. UN #SM_1;
  941. S #SM_3;
  942. U( ;
  943. O #SM_10;
  944. O #SM_4;
  945. O #Reset;
  946. ) ;
  947. R #SM_3;
  948. U #SM_3;
  949. ) ;
  950. SPBNB _003;
  951. L 3;
  952. T #Schritt;
  953. _003: NOP 0;
  954. NETWORK
  955. TITLE =
  956. U( ;
  957. UN #SM_2;
  958. U( ;
  959. U #Weiter_mB;
  960. U #T3_4;
  961. O #Weiter_oB;
  962. ) ;
  963. U #SM_3;
  964. S #SM_4;
  965. U( ;
  966. O #SM_5;
  967. O #Reset;
  968. ) ;
  969. R #SM_4;
  970. U #SM_4;
  971. ) ;
  972. SPBNB _004;
  973. L 4;
  974. T #Schritt;
  975. _004: NOP 0;
  976. NETWORK
  977. TITLE =
  978. U( ;
  979. UN #SM_3;
  980. U( ;
  981. U #Weiter_mB;
  982. U #T4_5;
  983. O #Weiter_oB;
  984. ) ;
  985. U #SM_4;
  986. S #SM_5;
  987. U( ;
  988. O #SM_6;
  989. O #Reset;
  990. ) ;
  991. R #SM_5;
  992. U #SM_5;
  993. ) ;
  994. SPBNB _005;
  995. L 5;
  996. T #Schritt;
  997. _005: NOP 0;
  998. NETWORK
  999. TITLE =
  1000. U( ;
  1001. UN #SM_4;
  1002. U( ;
  1003. U #T5_6;
  1004. U #Weiter_mB;
  1005. O #Weiter_oB;
  1006. ) ;
  1007. U #SM_5;
  1008. S #SM_6;
  1009. U( ;
  1010. O #Reset;
  1011. O #SM_7;
  1012. ) ;
  1013. R #SM_6;
  1014. U #SM_6;
  1015. ) ;
  1016. SPBNB _006;
  1017. L 6;
  1018. T #Schritt;
  1019. _006: NOP 0;
  1020. NETWORK
  1021. TITLE =
  1022. U( ;
  1023. UN #SM_5;
  1024. U( ;
  1025. U #Weiter_mB;
  1026. U #T6_7;
  1027. O #Weiter_oB;
  1028. ) ;
  1029. U #SM_6;
  1030. S #SM_7;
  1031. U( ;
  1032. O #SM_1;
  1033. O #Reset;
  1034. ) ;
  1035. R #SM_7;
  1036. U #SM_7;
  1037. ) ;
  1038. SPBNB _007;
  1039. L 7;
  1040. T #Schritt;
  1041. _007: NOP 0;
  1042. NETWORK
  1043. TITLE =
  1044. U( ;
  1045. UN #SM_2;
  1046. U( ;
  1047. U #Weiter_mB;
  1048. U #T3_10;
  1049. O #Weiter_oB;
  1050. ) ;
  1051. U #SM_3;
  1052. S #SM_10;
  1053. U( ;
  1054. O #SM_1;
  1055. O #Reset;
  1056. ) ;
  1057. R #SM_10;
  1058. U #SM_10;
  1059. ) ;
  1060. SPBNB _008;
  1061. L 10;
  1062. T #Schritt;
  1063. _008: NOP 0;
  1064. END_FUNCTION_BLOCK
  1065. DATA_BLOCK "DB_Schrittkette_1"
  1066. TITLE =
  1067. VERSION : 0.0
  1068. "Schrittkette 1 (Magazin)"
  1069. BEGIN
  1070. T1_2 := FALSE;
  1071. T2_3 := TRUE;
  1072. T3_4 := TRUE;
  1073. T3_10 := TRUE;
  1074. T4_5 := TRUE;
  1075. T5_6 := TRUE;
  1076. T6_7 := TRUE;
  1077. T7_1 := TRUE;
  1078. T10_1 := TRUE;
  1079. Reset := FALSE;
  1080. Weiter_oB := FALSE;
  1081. Weiter_mB := FALSE;
  1082. Schritt := 0;
  1083. SM_1 := TRUE;
  1084. SM_2 := FALSE;
  1085. SM_3 := FALSE;
  1086. SM_4 := FALSE;
  1087. SM_5 := FALSE;
  1088. SM_6 := FALSE;
  1089. SM_7 := FALSE;
  1090. SM_10 := FALSE;
  1091. END_DATA_BLOCK
  1092. FUNCTION_BLOCK "Ausgänge_Schrittkette_2"
  1093. TITLE =
  1094. VERSION : 0.1
  1095. VAR_INPUT
  1096. Schritt_Nr : INT ;
  1097. Reset : BOOL ;
  1098. Aktorfreigabe : BOOL ;
  1099. Aktornummer : INT ;
  1100. Aktor_vor : BOOL ;
  1101. Aktor_zurueck : BOOL ;
  1102. END_VAR
  1103. VAR_OUTPUT
  1104. gemessene_dicke : WORD ;
  1105. gemessene_farbe : BOOL ;
  1106. gem_wert_schieben : BOOL ;
  1107. END_VAR
  1108. VAR
  1109. Merker1 : BOOL ;
  1110. Merker2 : BOOL ;
  1111. Merker3 : BOOL ;
  1112. Merker4 : BOOL ;
  1113. Merker5 : BOOL ;
  1114. Merker6 : BOOL ;
  1115. Merker7 : BOOL ;
  1116. Merker_Farbe : BOOL ;
  1117. Merker_Erstdurchlauf : BOOL ;
  1118. END_VAR
  1119. BEGIN
  1120. NETWORK
  1121. TITLE =2Y2.10 = 1; Prüfzylinder wird gesenkt
  1122. U( ;
  1123. U( ;
  1124. O( ;
  1125. L #Schritt_Nr;
  1126. L 1;
  1127. ==I ;
  1128. ) ;
  1129. O( ;
  1130. L #Schritt_Nr;
  1131. L 7;
  1132. ==I ;
  1133. ) ;
  1134. ) ;
  1135. S #Merker1;
  1136. U( ;
  1137. O( ;
  1138. L #Schritt_Nr;
  1139. L 2;
  1140. ==I ;
  1141. ) ;
  1142. O #Reset;
  1143. ) ;
  1144. R #Merker1;
  1145. U #Merker1;
  1146. ) ;
  1147. U #Aktorfreigabe;
  1148. O ;
  1149. U( ;
  1150. L #Aktornummer;
  1151. L 201;
  1152. ==I ;
  1153. ) ;
  1154. U #Aktor_zurueck;
  1155. = "2Y2.10";
  1156. NETWORK
  1157. TITLE =2Y2.11 = 1; Prüfzylinder wird gehoben
  1158. U( ;
  1159. U( ;
  1160. L #Schritt_Nr;
  1161. L 2;
  1162. ==I ;
  1163. ) ;
  1164. S #Merker2;
  1165. U( ;
  1166. O( ;
  1167. L #Schritt_Nr;
  1168. L 1;
  1169. ==I ;
  1170. ) ;
  1171. O( ;
  1172. L #Schritt_Nr;
  1173. L 7;
  1174. ==I ;
  1175. ) ;
  1176. O #Reset;
  1177. ) ;
  1178. R #Merker2;
  1179. U #Merker2;
  1180. ) ;
  1181. U #Aktorfreigabe;
  1182. O ;
  1183. U( ;
  1184. L #Aktornummer;
  1185. L 201;
  1186. ==I ;
  1187. ) ;
  1188. U #Aktor_vor;
  1189. = "2Y2.11";
  1190. NETWORK
  1191. TITLE =Auswerfer vor
  1192. U( ;
  1193. U( ;
  1194. O( ;
  1195. L #Schritt_Nr;
  1196. L 11;
  1197. ==I ;
  1198. ) ;
  1199. O( ;
  1200. L #Schritt_Nr;
  1201. L 9;
  1202. ==I ;
  1203. ) ;
  1204. O( ;
  1205. L #Schritt_Nr;
  1206. L 5;
  1207. ==I ;
  1208. ) ;
  1209. ) ;
  1210. S #Merker3;
  1211. U( ;
  1212. O( ;
  1213. L #Schritt_Nr;
  1214. L 12;
  1215. ==I ;
  1216. ) ;
  1217. O( ;
  1218. L #Schritt_Nr;
  1219. L 1;
  1220. ==I ;
  1221. ) ;
  1222. O( ;
  1223. L #Schritt_Nr;
  1224. L 6;
  1225. ==I ;
  1226. ) ;
  1227. O( ;
  1228. L #Schritt_Nr;
  1229. L 10;
  1230. ==I ;
  1231. ) ;
  1232. O #Reset;
  1233. ) ;
  1234. R #Merker3;
  1235. U #Merker3;
  1236. ) ;
  1237. U #Aktorfreigabe;
  1238. O ;
  1239. U #Aktor_vor;
  1240. U( ;
  1241. L #Aktornummer;
  1242. L 202;
  1243. ==I ;
  1244. ) ;
  1245. = "2Y1";
  1246. NETWORK
  1247. TITLE =Pruefen Materialstaerke Zeit
  1248. U( ;
  1249. L #Schritt_Nr;
  1250. L 3;
  1251. ==I ;
  1252. ) ;
  1253. L S5T#1S;
  1254. SE "T_Pruefen";
  1255. U( ;
  1256. O( ;
  1257. L #Schritt_Nr;
  1258. L 4;
  1259. ==I ;
  1260. ) ;
  1261. O #Reset;
  1262. ) ;
  1263. R "T_Pruefen";
  1264. NOP 0;
  1265. NOP 0;
  1266. NOP 0;
  1267. NETWORK
  1268. TITLE =2K1 = 1; Bandmotor wird eingeschaltet
  1269. O( ;
  1270. U( ;
  1271. L #Schritt_Nr;
  1272. L 11;
  1273. ==I ;
  1274. ) ;
  1275. S #Merker_Erstdurchlauf;
  1276. U( ;
  1277. O( ;
  1278. L #Schritt_Nr;
  1279. L 13;
  1280. ==I ;
  1281. ) ;
  1282. O #Reset;
  1283. ) ;
  1284. R #Merker_Erstdurchlauf;
  1285. U #Merker_Erstdurchlauf;
  1286. ) ;
  1287. O ;
  1288. U "T_Bandzeit";
  1289. U( ;
  1290. L #Schritt_Nr;
  1291. L 5;
  1292. ==I ;
  1293. ) ;
  1294. U #Aktorfreigabe;
  1295. O ;
  1296. U #Aktor_vor;
  1297. U( ;
  1298. L #Aktornummer;
  1299. L 203;
  1300. ==I ;
  1301. ) ;
  1302. = "2K1";
  1303. NETWORK
  1304. TITLE =Bandvorschub an
  1305. U( ;
  1306. L #Schritt_Nr;
  1307. L 5;
  1308. ==I ;
  1309. ) ;
  1310. L S5T#500MS;
  1311. SI "T_Bandzeit";
  1312. NOP 0;
  1313. NOP 0;
  1314. NOP 0;
  1315. NOP 0;
  1316. NETWORK
  1317. TITLE =Teilefarbe zwischenspeichern
  1318. U( ;
  1319. L #Schritt_Nr;
  1320. L 1;
  1321. ==I ;
  1322. ) ;
  1323. U "2B1";
  1324. S #Merker_Farbe;
  1325. U( ;
  1326. L #Schritt_Nr;
  1327. L 1;
  1328. ==I ;
  1329. ) ;
  1330. UN "2B1";
  1331. R #Merker_Farbe;
  1332. NOP 0;
  1333. NETWORK
  1334. TITLE =Teilefarbe ausgeben
  1335. U #Merker_Farbe;
  1336. = #gemessene_farbe;
  1337. NETWORK
  1338. TITLE =Analogsensor einlesen
  1339. U( ;
  1340. L #Schritt_Nr;
  1341. L 4;
  1342. ==I ;
  1343. ) ;
  1344. SPBNB _001;
  1345. L "Dicke_Analogwert";
  1346. T #gemessene_dicke;
  1347. _001: NOP 0;
  1348. NETWORK
  1349. TITLE =Erzeugung Signal: Schieberegister einschieben
  1350. L #Schritt_Nr;
  1351. L 4;
  1352. ==I ;
  1353. = #gem_wert_schieben;
  1354. NETWORK
  1355. TITLE =Signal "Erster Zyklus" rücksetzen
  1356. L #Schritt_Nr;
  1357. L 13;
  1358. ==I ;
  1359. R "Erster_Zyklus";
  1360. END_FUNCTION_BLOCK
  1361. DATA_BLOCK "DB_Ausgänge_SK2"
  1362. TITLE =
  1363. VERSION : 0.0
  1364. "Ausgänge_Schrittkette_2"
  1365. BEGIN
  1366. Schritt_Nr := 0;
  1367. Reset := FALSE;
  1368. Aktorfreigabe := FALSE;
  1369. Aktornummer := 0;
  1370. Aktor_vor := FALSE;
  1371. Aktor_zurueck := FALSE;
  1372. gemessene_dicke := W#16#0;
  1373. gemessene_farbe := FALSE;
  1374. gem_wert_schieben := FALSE;
  1375. Merker1 := FALSE;
  1376. Merker2 := FALSE;
  1377. Merker3 := FALSE;
  1378. Merker4 := FALSE;
  1379. Merker5 := FALSE;
  1380. Merker6 := FALSE;
  1381. Merker7 := FALSE;
  1382. Merker_Farbe := FALSE;
  1383. Merker_Erstdurchlauf := FALSE;
  1384. END_DATA_BLOCK
  1385. FUNCTION_BLOCK "Schrittkette 2 (Prüfen)"
  1386. TITLE =
  1387. VERSION : 0.1
  1388. VAR_INPUT
  1389. T1_2 : BOOL ;
  1390. T2_3 : BOOL := TRUE;
  1391. T3_4 : BOOL := TRUE;
  1392. T4_5 : BOOL := TRUE;
  1393. T5_6 : BOOL := TRUE;
  1394. T6_7 : BOOL := TRUE;
  1395. T7_1 : BOOL := TRUE;
  1396. T1_9 : BOOL := TRUE;
  1397. T9_10 : BOOL := TRUE;
  1398. T10_1 : BOOL := TRUE;
  1399. T4_11 : BOOL ;
  1400. T11_12 : BOOL ;
  1401. T12_13 : BOOL ;
  1402. T13_7 : BOOL ;
  1403. Reset : BOOL ;
  1404. Weiter_oB : BOOL ;
  1405. Weiter_mB : BOOL ;
  1406. END_VAR
  1407. VAR_OUTPUT
  1408. Schritt : INT ;
  1409. END_VAR
  1410. VAR
  1411. SM_1 : BOOL := TRUE;
  1412. SM_2 : BOOL ;
  1413. SM_3 : BOOL ;
  1414. SM_4 : BOOL ;
  1415. SM_5 : BOOL ;
  1416. SM_6 : BOOL ;
  1417. SM_7 : BOOL ;
  1418. SM_9 : BOOL ;
  1419. SM_10 : BOOL ;
  1420. SM_11 : BOOL ;
  1421. SM_12 : BOOL ;
  1422. SM_13 : BOOL ;
  1423. END_VAR
  1424. BEGIN
  1425. NETWORK
  1426. TITLE =
  1427. U( ;
  1428. U( ;
  1429. O #Reset;
  1430. O ;
  1431. U( ;
  1432. UN #SM_9;
  1433. U #SM_10;
  1434. ON #SM_6;
  1435. O #SM_7;
  1436. ) ;
  1437. U( ;
  1438. U( ;
  1439. U #T10_1;
  1440. U #SM_10;
  1441. O ;
  1442. U #T7_1;
  1443. U #SM_7;
  1444. ) ;
  1445. U #Weiter_mB;
  1446. O #Weiter_oB;
  1447. ) ;
  1448. ) ;
  1449. S #SM_1;
  1450. U( ;
  1451. O #SM_2;
  1452. O #SM_9;
  1453. ) ;
  1454. R #SM_1;
  1455. U #SM_1;
  1456. ) ;
  1457. SPBNB _001;
  1458. L 1;
  1459. T #Schritt;
  1460. _001: NOP 0;
  1461. NETWORK
  1462. TITLE =
  1463. U( ;
  1464. UN #SM_7;
  1465. UN #SM_10;
  1466. U( ;
  1467. U #Weiter_mB;
  1468. U #T1_2;
  1469. O #Weiter_oB;
  1470. ) ;
  1471. U #SM_1;
  1472. S #SM_2;
  1473. U( ;
  1474. O #SM_3;
  1475. O #Reset;
  1476. ) ;
  1477. R #SM_2;
  1478. U #SM_2;
  1479. ) ;
  1480. SPBNB _002;
  1481. L 2;
  1482. T #Schritt;
  1483. _002: NOP 0;
  1484. NETWORK
  1485. TITLE =
  1486. U( ;
  1487. U #SM_2;
  1488. U( ;
  1489. U #T2_3;
  1490. U #Weiter_mB;
  1491. O #Weiter_oB;
  1492. ) ;
  1493. UN #SM_1;
  1494. S #SM_3;
  1495. U( ;
  1496. O #SM_4;
  1497. O #Reset;
  1498. ) ;
  1499. R #SM_3;
  1500. U #SM_3;
  1501. ) ;
  1502. SPBNB _003;
  1503. L 3;
  1504. T #Schritt;
  1505. _003: NOP 0;
  1506. NETWORK
  1507. TITLE =
  1508. U( ;
  1509. UN #SM_2;
  1510. U( ;
  1511. U #Weiter_mB;
  1512. U #T3_4;
  1513. O #Weiter_oB;
  1514. ) ;
  1515. U #SM_3;
  1516. S #SM_4;
  1517. U( ;
  1518. O #SM_11;
  1519. O #SM_5;
  1520. O #Reset;
  1521. ) ;
  1522. R #SM_4;
  1523. U #SM_4;
  1524. ) ;
  1525. SPBNB _004;
  1526. L 4;
  1527. T #Schritt;
  1528. _004: NOP 0;
  1529. NETWORK
  1530. TITLE =
  1531. U( ;
  1532. UN #SM_3;
  1533. U( ;
  1534. U #Weiter_mB;
  1535. U #T4_5;
  1536. O #Weiter_oB;
  1537. ) ;
  1538. U #SM_4;
  1539. S #SM_5;
  1540. U( ;
  1541. O #SM_6;
  1542. O #Reset;
  1543. ) ;
  1544. R #SM_5;
  1545. U #SM_5;
  1546. ) ;
  1547. SPBNB _005;
  1548. L 5;
  1549. T #Schritt;
  1550. _005: NOP 0;
  1551. NETWORK
  1552. TITLE =
  1553. U( ;
  1554. UN #SM_4;
  1555. U( ;
  1556. U #Weiter_mB;
  1557. U #T5_6;
  1558. O #Weiter_oB;
  1559. ) ;
  1560. U #SM_5;
  1561. S #SM_6;
  1562. U( ;
  1563. O #SM_7;
  1564. O #Reset;
  1565. ) ;
  1566. R #SM_6;
  1567. U #SM_6;
  1568. ) ;
  1569. SPBNB _006;
  1570. L 6;
  1571. T #Schritt;
  1572. _006: NOP 0;
  1573. NETWORK
  1574. TITLE =
  1575. U( ;
  1576. U( ;
  1577. U #SM_6;
  1578. UN #SM_5;
  1579. O ;
  1580. UN #SM_12;
  1581. U #SM_13;
  1582. ) ;
  1583. U( ;
  1584. U( ;
  1585. U #T13_7;
  1586. U #SM_13;
  1587. O ;
  1588. U #T6_7;
  1589. U #SM_6;
  1590. ) ;
  1591. U #Weiter_mB;
  1592. O #Weiter_oB;
  1593. ) ;
  1594. S #SM_7;
  1595. U( ;
  1596. O #SM_1;
  1597. O #Reset;
  1598. ) ;
  1599. R #SM_7;
  1600. U #SM_7;
  1601. ) ;
  1602. SPBNB _007;
  1603. L 7;
  1604. T #Schritt;
  1605. _007: NOP 0;
  1606. NETWORK
  1607. TITLE =
  1608. U( ;
  1609. UN #SM_7;
  1610. UN #SM_10;
  1611. U( ;
  1612. U #Weiter_mB;
  1613. U #T1_9;
  1614. O #Weiter_oB;
  1615. ) ;
  1616. U #SM_1;
  1617. S #SM_9;
  1618. U( ;
  1619. O #SM_10;
  1620. O #Reset;
  1621. ) ;
  1622. R #SM_9;
  1623. U #SM_9;
  1624. ) ;
  1625. SPBNB _008;
  1626. L 9;
  1627. T #Schritt;
  1628. _008: NOP 0;
  1629. NETWORK
  1630. TITLE =
  1631. U( ;
  1632. UN #SM_1;
  1633. U( ;
  1634. U #Weiter_mB;
  1635. U #T9_10;
  1636. O #Weiter_oB;
  1637. ) ;
  1638. U #SM_9;
  1639. S #SM_10;
  1640. U( ;
  1641. O #SM_1;
  1642. O #Reset;
  1643. ) ;
  1644. R #SM_10;
  1645. U #SM_10;
  1646. ) ;
  1647. SPBNB _009;
  1648. L 10;
  1649. T #Schritt;
  1650. _009: NOP 0;
  1651. NETWORK
  1652. TITLE =
  1653. U( ;
  1654. UN #SM_3;
  1655. U( ;
  1656. U #Weiter_mB;
  1657. U #T4_11;
  1658. O #Weiter_oB;
  1659. ) ;
  1660. U #SM_4;
  1661. S #SM_11;
  1662. U( ;
  1663. O #SM_12;
  1664. O #Reset;
  1665. ) ;
  1666. R #SM_11;
  1667. U #SM_11;
  1668. ) ;
  1669. SPBNB _00a;
  1670. L 11;
  1671. T #Schritt;
  1672. _00a: NOP 0;
  1673. NETWORK
  1674. TITLE =
  1675. U( ;
  1676. UN #SM_4;
  1677. U( ;
  1678. U #Weiter_mB;
  1679. U #T11_12;
  1680. O #Weiter_oB;
  1681. ) ;
  1682. U #SM_11;
  1683. S #SM_12;
  1684. U( ;
  1685. O #SM_13;
  1686. O #Reset;
  1687. ) ;
  1688. R #SM_12;
  1689. U #SM_12;
  1690. ) ;
  1691. SPBNB _00b;
  1692. L 12;
  1693. T #Schritt;
  1694. _00b: NOP 0;
  1695. NETWORK
  1696. TITLE =
  1697. U( ;
  1698. UN #SM_11;
  1699. U( ;
  1700. U #Weiter_mB;
  1701. U #T12_13;
  1702. O #Weiter_oB;
  1703. ) ;
  1704. U #SM_12;
  1705. S #SM_13;
  1706. U( ;
  1707. O #SM_7;
  1708. O #Reset;
  1709. ) ;
  1710. R #SM_13;
  1711. U #SM_13;
  1712. ) ;
  1713. SPBNB _00c;
  1714. L 13;
  1715. T #Schritt;
  1716. _00c: NOP 0;
  1717. END_FUNCTION_BLOCK
  1718. DATA_BLOCK "DB_Schrittkette_2"
  1719. TITLE =
  1720. VERSION : 0.0
  1721. "Schrittkette 2 (Prüfen)"
  1722. BEGIN
  1723. T1_2 := FALSE;
  1724. T2_3 := TRUE;
  1725. T3_4 := TRUE;
  1726. T4_5 := TRUE;
  1727. T5_6 := TRUE;
  1728. T6_7 := TRUE;
  1729. T7_1 := TRUE;
  1730. T1_9 := TRUE;
  1731. T9_10 := TRUE;
  1732. T10_1 := TRUE;
  1733. T4_11 := FALSE;
  1734. T11_12 := FALSE;
  1735. T12_13 := FALSE;
  1736. T13_7 := FALSE;
  1737. Reset := FALSE;
  1738. Weiter_oB := FALSE;
  1739. Weiter_mB := FALSE;
  1740. Schritt := 0;
  1741. SM_1 := TRUE;
  1742. SM_2 := FALSE;
  1743. SM_3 := FALSE;
  1744. SM_4 := FALSE;
  1745. SM_5 := FALSE;
  1746. SM_6 := FALSE;
  1747. SM_7 := FALSE;
  1748. SM_9 := FALSE;
  1749. SM_10 := FALSE;
  1750. SM_11 := FALSE;
  1751. SM_12 := FALSE;
  1752. SM_13 := FALSE;
  1753. END_DATA_BLOCK
  1754. FUNCTION_BLOCK "Eingänge Schrittkette_3"
  1755. TITLE =
  1756. VERSION : 0.1
  1757. VAR_INPUT
  1758. Anzahl_Teile : INT ;
  1759. Farbe_Rot : BOOL ;
  1760. END_VAR
  1761. VAR_OUTPUT
  1762. T1_2 : BOOL ;
  1763. T2_3 : BOOL ;
  1764. T3_4 : BOOL ;
  1765. T4_5 : BOOL ;
  1766. T5_6 : BOOL ;
  1767. T6_7_u_6_16 : BOOL ;
  1768. T7_8 : BOOL ;
  1769. T8_9_u_17_9 : BOOL ;
  1770. T9_10 : BOOL ;
  1771. T10_11_u_10_18 : BOOL ;
  1772. T11_12 : BOOL ;
  1773. T12_13_u_19_13 : BOOL ;
  1774. T13_14 : BOOL ;
  1775. T14_15 : BOOL ;
  1776. T15_1 : BOOL ;
  1777. T16_17 : BOOL ;
  1778. T18_19 : BOOL ;
  1779. END_VAR
  1780. BEGIN
  1781. NETWORK
  1782. TITLE =
  1783. U "4B6";
  1784. = #T1_2;
  1785. NETWORK
  1786. TITLE =
  1787. O "4B4";
  1788. O "4B3";
  1789. = #T2_3;
  1790. NETWORK
  1791. TITLE =
  1792. U "4B1";
  1793. = #T3_4;
  1794. NETWORK
  1795. TITLE =
  1796. U "3B1";
  1797. = #T4_5;
  1798. NETWORK
  1799. TITLE =
  1800. U "3B7";
  1801. U "3B1";
  1802. = #T5_6;
  1803. NETWORK
  1804. TITLE =
  1805. U "4B4";
  1806. = #T6_7_u_6_16;
  1807. NETWORK
  1808. TITLE =
  1809. U "4B5";
  1810. = #T7_8;
  1811. NETWORK
  1812. TITLE =
  1813. U "4B5";
  1814. U "4B7";
  1815. = #T8_9_u_17_9;
  1816. NETWORK
  1817. TITLE =
  1818. U "4B9";
  1819. = #T9_10;
  1820. NETWORK
  1821. TITLE =
  1822. U "3B6";
  1823. = #T10_11_u_10_18;
  1824. NETWORK
  1825. TITLE =
  1826. U "4B6";
  1827. = #T11_12;
  1828. NETWORK
  1829. TITLE =
  1830. U "4B4";
  1831. U "4B6";
  1832. = #T12_13_u_19_13;
  1833. NETWORK
  1834. TITLE =
  1835. U "4B2";
  1836. = #T13_14;
  1837. NETWORK
  1838. TITLE =
  1839. U #Farbe_Rot;
  1840. U "4B4";
  1841. O ;
  1842. UN #Farbe_Rot;
  1843. U "4B5";
  1844. = #T14_15;
  1845. NETWORK
  1846. TITLE =
  1847. UN "4B9";
  1848. = #T15_1;
  1849. NETWORK
  1850. TITLE =
  1851. U "4B7";
  1852. = #T16_17;
  1853. NETWORK
  1854. TITLE =
  1855. U "4B4";
  1856. = #T18_19;
  1857. END_FUNCTION_BLOCK
  1858. DATA_BLOCK "DB_Transitionen_SK3"
  1859. TITLE =
  1860. VERSION : 0.0
  1861. "Eingänge Schrittkette_3"
  1862. BEGIN
  1863. Anzahl_Teile := 0;
  1864. Farbe_Rot := FALSE;
  1865. T1_2 := FALSE;
  1866. T2_3 := FALSE;
  1867. T3_4 := FALSE;
  1868. T4_5 := FALSE;
  1869. T5_6 := FALSE;
  1870. T6_7_u_6_16 := FALSE;
  1871. T7_8 := FALSE;
  1872. T8_9_u_17_9 := FALSE;
  1873. T9_10 := FALSE;
  1874. T10_11_u_10_18 := FALSE;
  1875. T11_12 := FALSE;
  1876. T12_13_u_19_13 := FALSE;
  1877. T13_14 := FALSE;
  1878. T14_15 := FALSE;
  1879. T15_1 := FALSE;
  1880. T16_17 := FALSE;
  1881. T18_19 := FALSE;
  1882. END_DATA_BLOCK
  1883. FUNCTION_BLOCK "Schrittkette 3 (Greifer)"
  1884. TITLE =
  1885. VERSION : 0.1
  1886. VAR_INPUT
  1887. T1_2 : BOOL ;
  1888. T2_3 : BOOL := TRUE;
  1889. T3_4 : BOOL := TRUE;
  1890. T4_5 : BOOL := TRUE;
  1891. T5_6 : BOOL := TRUE;
  1892. T6_7_u_6_16 : BOOL := TRUE;
  1893. T7_8 : BOOL := TRUE;
  1894. T8_9_u_17_9 : BOOL := TRUE;
  1895. T9_10 : BOOL := TRUE;
  1896. T10_11_u_10_18 : BOOL := TRUE;
  1897. T11_12 : BOOL := TRUE;
  1898. T12_13_u_19_13 : BOOL := TRUE;
  1899. T13_14 : BOOL := TRUE;
  1900. T14_15 : BOOL := TRUE;
  1901. T15_1 : BOOL ;
  1902. T16_17 : BOOL ;
  1903. T18_19 : BOOL ;
  1904. Reset : BOOL ;
  1905. Weiter_ob : BOOL ;
  1906. Weiter_mb : BOOL ;
  1907. END_VAR
  1908. VAR_OUTPUT
  1909. Schritt : INT ;
  1910. Schritt2 : INT ;
  1911. END_VAR
  1912. VAR
  1913. SM_1 : BOOL := TRUE;
  1914. SM_2 : BOOL ;
  1915. SM_3 : BOOL ;
  1916. SM_4 : BOOL ;
  1917. SM_5 : BOOL ;
  1918. SM_6 : BOOL ;
  1919. SM_7 : BOOL ;
  1920. SM_8 : BOOL ;
  1921. SM_9 : BOOL ;
  1922. SM_10 : BOOL ;
  1923. SM_11 : BOOL ;
  1924. SM_12 : BOOL ;
  1925. SM_13 : BOOL ;
  1926. SM_14 : BOOL ;
  1927. SM_15 : BOOL ;
  1928. SM_16 : BOOL ;
  1929. SM_17 : BOOL ;
  1930. SM_18 : BOOL ;
  1931. SM_19 : BOOL ;
  1932. END_VAR
  1933. BEGIN
  1934. NETWORK
  1935. TITLE =
  1936. U( ;
  1937. O #Reset;
  1938. O ;
  1939. UN #SM_14;
  1940. U #SM_15;
  1941. U( ;
  1942. U #T15_1;
  1943. U #Weiter_mb;
  1944. O #Weiter_ob;
  1945. ) ;
  1946. ) ;
  1947. S #SM_1;
  1948. U #SM_2;
  1949. R #SM_1;
  1950. U #SM_1;
  1951. = L 0.0;
  1952. U L 0.0;
  1953. SPBNB _001;
  1954. L 1;
  1955. T #Schritt;
  1956. _001: NOP 0;
  1957. U L 0.0;
  1958. SPBNB _002;
  1959. L 0;
  1960. T #Schritt2;
  1961. _002: NOP 0;
  1962. NETWORK
  1963. TITLE =
  1964. U( ;
  1965. UN #SM_15;
  1966. U #SM_1;
  1967. U( ;
  1968. U #T1_2;
  1969. U #Weiter_mb;
  1970. O #Weiter_ob;
  1971. ) ;
  1972. S #SM_2;
  1973. U( ;
  1974. O #SM_3;
  1975. O #Reset;
  1976. ) ;
  1977. R #SM_2;
  1978. U #SM_2;
  1979. ) ;
  1980. SPBNB _003;
  1981. L 2;
  1982. T #Schritt;
  1983. _003: NOP 0;
  1984. NETWORK
  1985. TITLE =
  1986. U( ;
  1987. UN #SM_1;
  1988. U #SM_2;
  1989. U( ;
  1990. U #T2_3;
  1991. U #Weiter_mb;
  1992. O #Weiter_ob;
  1993. ) ;
  1994. S #SM_3;
  1995. U( ;
  1996. O #SM_4;
  1997. O #Reset;
  1998. ) ;
  1999. R #SM_3;
  2000. U #SM_3;
  2001. ) ;
  2002. SPBNB _004;
  2003. L 3;
  2004. T #Schritt;
  2005. _004: NOP 0;
  2006. NETWORK
  2007. TITLE =
  2008. U( ;
  2009. UN #SM_2;
  2010. U #SM_3;
  2011. U( ;
  2012. U #T3_4;
  2013. U #Weiter_mb;
  2014. O #Weiter_ob;
  2015. ) ;
  2016. S #SM_4;
  2017. U( ;
  2018. O #SM_5;
  2019. O #Reset;
  2020. ) ;
  2021. R #SM_4;
  2022. U #SM_4;
  2023. ) ;
  2024. SPBNB _005;
  2025. L 4;
  2026. T #Schritt;
  2027. _005: NOP 0;
  2028. NETWORK
  2029. TITLE =
  2030. U( ;
  2031. UN #SM_3;
  2032. U #SM_4;
  2033. U( ;
  2034. U #T4_5;
  2035. U #Weiter_mb;
  2036. O #Weiter_ob;
  2037. ) ;
  2038. S #SM_5;
  2039. U( ;
  2040. O #SM_6;
  2041. O #Reset;
  2042. ) ;
  2043. R #SM_5;
  2044. U #SM_5;
  2045. ) ;
  2046. SPBNB _006;
  2047. L 5;
  2048. T #Schritt;
  2049. _006: NOP 0;
  2050. NETWORK
  2051. TITLE =
  2052. U( ;
  2053. UN #SM_4;
  2054. U #SM_5;
  2055. U( ;
  2056. U #T5_6;
  2057. U #Weiter_mb;
  2058. O #Weiter_ob;
  2059. ) ;
  2060. S #SM_6;
  2061. U( ;
  2062. U #SM_7;
  2063. U #SM_16;
  2064. O #Reset;
  2065. ) ;
  2066. R #SM_6;
  2067. U #SM_6;
  2068. ) ;
  2069. SPBNB _007;
  2070. L 6;
  2071. T #Schritt;
  2072. _007: NOP 0;
  2073. NETWORK
  2074. TITLE =
  2075. U( ;
  2076. UN #SM_5;
  2077. U #SM_6;
  2078. U( ;
  2079. U #T6_7_u_6_16;
  2080. U #Weiter_mb;
  2081. O #Weiter_ob;
  2082. ) ;
  2083. S #SM_7;
  2084. U( ;
  2085. O #SM_8;
  2086. O #Reset;
  2087. ) ;
  2088. R #SM_7;
  2089. U #SM_7;
  2090. ) ;
  2091. SPBNB _008;
  2092. L 7;
  2093. T #Schritt;
  2094. _008: NOP 0;
  2095. NETWORK
  2096. TITLE =
  2097. U( ;
  2098. UN #SM_6;
  2099. U #SM_7;
  2100. U( ;
  2101. U #T7_8;
  2102. U #Weiter_mb;
  2103. O #Weiter_ob;
  2104. ) ;
  2105. S #SM_8;
  2106. U( ;
  2107. O #SM_9;
  2108. O #Reset;
  2109. ) ;
  2110. R #SM_8;
  2111. U #SM_8;
  2112. ) ;
  2113. SPBNB _009;
  2114. L 8;
  2115. T #Schritt;
  2116. _009: NOP 0;
  2117. NETWORK
  2118. TITLE =
  2119. UN #SM_16;
  2120. U #SM_17;
  2121. UN #SM_7;
  2122. U #SM_8;
  2123. U( ;
  2124. U #T8_9_u_17_9;
  2125. U #Weiter_mb;
  2126. O #Weiter_ob;
  2127. ) ;
  2128. S #SM_9;
  2129. U( ;
  2130. O #SM_10;
  2131. O #Reset;
  2132. ) ;
  2133. R #SM_9;
  2134. U #SM_9;
  2135. = L 0.0;
  2136. U L 0.0;
  2137. SPBNB _00a;
  2138. L 9;
  2139. T #Schritt;
  2140. _00a: NOP 0;
  2141. U L 0.0;
  2142. SPBNB _00b;
  2143. L 0;
  2144. T #Schritt2;
  2145. _00b: NOP 0;
  2146. NETWORK
  2147. TITLE =
  2148. U( ;
  2149. UN #SM_17;
  2150. UN #SM_8;
  2151. U #SM_9;
  2152. U( ;
  2153. U #T9_10;
  2154. U #Weiter_mb;
  2155. O #Weiter_ob;
  2156. ) ;
  2157. S #SM_10;
  2158. U( ;
  2159. U #SM_11;
  2160. U #SM_18;
  2161. O #Reset;
  2162. ) ;
  2163. R #SM_10;
  2164. U #SM_10;
  2165. ) ;
  2166. SPBNB _00c;
  2167. L 10;
  2168. T #Schritt;
  2169. _00c: NOP 0;
  2170. NETWORK
  2171. TITLE =
  2172. U( ;
  2173. UN #SM_9;
  2174. U #SM_10;
  2175. U( ;
  2176. U #T10_11_u_10_18;
  2177. U #Weiter_mb;
  2178. O #Weiter_ob;
  2179. ) ;
  2180. S #SM_11;
  2181. U( ;
  2182. O #SM_12;
  2183. O #Reset;
  2184. ) ;
  2185. R #SM_11;
  2186. U #SM_11;
  2187. ) ;
  2188. SPBNB _00d;
  2189. L 11;
  2190. T #Schritt;
  2191. _00d: NOP 0;
  2192. NETWORK
  2193. TITLE =
  2194. U( ;
  2195. UN #SM_10;
  2196. U #SM_11;
  2197. U( ;
  2198. U #T11_12;
  2199. U #Weiter_mb;
  2200. O #Weiter_ob;
  2201. ) ;
  2202. S #SM_12;
  2203. U( ;
  2204. O #SM_13;
  2205. O #Reset;
  2206. ) ;
  2207. R #SM_12;
  2208. U #SM_12;
  2209. ) ;
  2210. SPBNB _00e;
  2211. L 12;
  2212. T #Schritt;
  2213. _00e: NOP 0;
  2214. NETWORK
  2215. TITLE =
  2216. UN #SM_18;
  2217. U #SM_19;
  2218. UN #SM_11;
  2219. U #SM_12;
  2220. U( ;
  2221. U #T12_13_u_19_13;
  2222. U #Weiter_mb;
  2223. O #Weiter_ob;
  2224. ) ;
  2225. S #SM_13;
  2226. U( ;
  2227. O #SM_14;
  2228. O #Reset;
  2229. ) ;
  2230. R #SM_13;
  2231. U #SM_13;
  2232. = L 0.0;
  2233. U L 0.0;
  2234. SPBNB _00f;
  2235. L 13;
  2236. T #Schritt;
  2237. _00f: NOP 0;
  2238. U L 0.0;
  2239. SPBNB _010;
  2240. L 0;
  2241. T #Schritt2;
  2242. _010: NOP 0;
  2243. NETWORK
  2244. TITLE =
  2245. U( ;
  2246. UN #SM_19;
  2247. UN #SM_12;
  2248. U #SM_13;
  2249. U( ;
  2250. U #T13_14;
  2251. U #Weiter_mb;
  2252. O #Weiter_ob;
  2253. ) ;
  2254. S #SM_14;
  2255. U( ;
  2256. O #SM_15;
  2257. O #Reset;
  2258. ) ;
  2259. R #SM_14;
  2260. U #SM_14;
  2261. ) ;
  2262. SPBNB _011;
  2263. L 14;
  2264. T #Schritt;
  2265. _011: NOP 0;
  2266. NETWORK
  2267. TITLE =
  2268. U( ;
  2269. UN #SM_13;
  2270. U #SM_14;
  2271. U( ;
  2272. U #T14_15;
  2273. U #Weiter_mb;
  2274. O #Weiter_ob;
  2275. ) ;
  2276. S #SM_15;
  2277. U( ;
  2278. O #SM_1;
  2279. O #Reset;
  2280. ) ;
  2281. R #SM_15;
  2282. U #SM_15;
  2283. ) ;
  2284. SPBNB _012;
  2285. L 15;
  2286. T #Schritt;
  2287. _012: NOP 0;
  2288. NETWORK
  2289. TITLE =
  2290. U( ;
  2291. UN #SM_5;
  2292. U #SM_6;
  2293. U( ;
  2294. U #T6_7_u_6_16;
  2295. U #Weiter_mb;
  2296. O #Weiter_ob;
  2297. ) ;
  2298. S #SM_16;
  2299. U( ;
  2300. O #SM_17;
  2301. O #Reset;
  2302. ) ;
  2303. R #SM_16;
  2304. U #SM_16;
  2305. ) ;
  2306. SPBNB _013;
  2307. L 16;
  2308. T #Schritt2;
  2309. _013: NOP 0;
  2310. NETWORK
  2311. TITLE =
  2312. U( ;
  2313. UN #SM_6;
  2314. U #SM_16;
  2315. U( ;
  2316. U #T16_17;
  2317. U #Weiter_mb;
  2318. O #Weiter_ob;
  2319. ) ;
  2320. S #SM_17;
  2321. U( ;
  2322. O #SM_9;
  2323. O #Reset;
  2324. ) ;
  2325. R #SM_17;
  2326. U #SM_17;
  2327. ) ;
  2328. SPBNB _014;
  2329. L 17;
  2330. T #Schritt2;
  2331. _014: NOP 0;
  2332. NETWORK
  2333. TITLE =
  2334. U( ;
  2335. UN #SM_9;
  2336. U #SM_10;
  2337. U( ;
  2338. U #T10_11_u_10_18;
  2339. U #Weiter_mb;
  2340. O #Weiter_ob;
  2341. ) ;
  2342. S #SM_18;
  2343. U( ;
  2344. O #SM_19;
  2345. O #Reset;
  2346. ) ;
  2347. R #SM_18;
  2348. U #SM_18;
  2349. ) ;
  2350. SPBNB _015;
  2351. L 18;
  2352. T #Schritt2;
  2353. _015: NOP 0;
  2354. NETWORK
  2355. TITLE =
  2356. U( ;
  2357. UN #SM_10;
  2358. U #SM_18;
  2359. U( ;
  2360. U #T18_19;
  2361. U #Weiter_mb;
  2362. O #Weiter_ob;
  2363. ) ;
  2364. S #SM_19;
  2365. U( ;
  2366. O #SM_13;
  2367. O #Reset;
  2368. ) ;
  2369. R #SM_19;
  2370. U #SM_19;
  2371. ) ;
  2372. SPBNB _016;
  2373. L 19;
  2374. T #Schritt2;
  2375. _016: NOP 0;
  2376. END_FUNCTION_BLOCK
  2377. DATA_BLOCK "DB_Schrittkette_3"
  2378. TITLE =
  2379. VERSION : 0.0
  2380. "Schrittkette 3 (Greifer)"
  2381. BEGIN
  2382. T1_2 := FALSE;
  2383. T2_3 := TRUE;
  2384. T3_4 := TRUE;
  2385. T4_5 := TRUE;
  2386. T5_6 := TRUE;
  2387. T6_7_u_6_16 := TRUE;
  2388. T7_8 := TRUE;
  2389. T8_9_u_17_9 := TRUE;
  2390. T9_10 := TRUE;
  2391. T10_11_u_10_18 := TRUE;
  2392. T11_12 := TRUE;
  2393. T12_13_u_19_13 := TRUE;
  2394. T13_14 := TRUE;
  2395. T14_15 := TRUE;
  2396. T15_1 := FALSE;
  2397. T16_17 := FALSE;
  2398. T18_19 := FALSE;
  2399. Reset := FALSE;
  2400. Weiter_ob := FALSE;
  2401. Weiter_mb := FALSE;
  2402. Schritt := 0;
  2403. Schritt2 := 0;
  2404. SM_1 := TRUE;
  2405. SM_2 := FALSE;
  2406. SM_3 := FALSE;
  2407. SM_4 := FALSE;
  2408. SM_5 := FALSE;
  2409. SM_6 := FALSE;
  2410. SM_7 := FALSE;
  2411. SM_8 := FALSE;
  2412. SM_9 := FALSE;
  2413. SM_10 := FALSE;
  2414. SM_11 := FALSE;
  2415. SM_12 := FALSE;
  2416. SM_13 := FALSE;
  2417. SM_14 := FALSE;
  2418. SM_15 := FALSE;
  2419. SM_16 := FALSE;
  2420. SM_17 := FALSE;
  2421. SM_18 := FALSE;
  2422. SM_19 := FALSE;
  2423. END_DATA_BLOCK
  2424. FUNCTION_BLOCK "Ausgänge_Schrittkette_3"
  2425. TITLE =
  2426. VERSION : 0.1
  2427. VAR_INPUT
  2428. Schritt_Nr : INT ;
  2429. Schritt_Nr_2 : INT ;
  2430. Reset : BOOL ;
  2431. Aktornummer : INT ;
  2432. Aktorfreigabe : BOOL ;
  2433. Aktor_vor : BOOL ;
  2434. Aktor_zurueck : BOOL ;
  2435. END_VAR
  2436. VAR
  2437. Merker_1 : BOOL ;
  2438. Merker_2 : BOOL ;
  2439. Merker_3 : BOOL ;
  2440. Merker_4 : BOOL ;
  2441. Merker_5 : BOOL ;
  2442. Merker_6 : BOOL ;
  2443. Merker_7 : BOOL ;
  2444. Merker_8 : BOOL ;
  2445. Merker_9 : BOOL ;
  2446. Merker_10 : BOOL ;
  2447. Merker_11 : BOOL ;
  2448. Merker_12 : BOOL ;
  2449. END_VAR
  2450. BEGIN
  2451. NETWORK
  2452. TITLE =4K1 = 1; Vertikalmotor Handhabungsgerät hoch
  2453. U( ;
  2454. U( ;
  2455. O( ;
  2456. L #Schritt_Nr;
  2457. L 1;
  2458. ==I ;
  2459. ) ;
  2460. O( ;
  2461. L #Schritt_Nr;
  2462. L 11;
  2463. ==I ;
  2464. ) ;
  2465. ) ;
  2466. S #Merker_1;
  2467. U( ;
  2468. O( ;
  2469. L 16;
  2470. L #Schritt_Nr_2;
  2471. ==I ;
  2472. ) ;
  2473. O #Reset;
  2474. O( ;
  2475. L #Schritt_Nr;
  2476. L 12;
  2477. ==I ;
  2478. ) ;
  2479. O( ;
  2480. L #Schritt_Nr;
  2481. L 2;
  2482. ==I ;
  2483. ) ;
  2484. ) ;
  2485. R #Merker_1;
  2486. U #Merker_1;
  2487. ) ;
  2488. U #Aktorfreigabe;
  2489. O ;
  2490. U( ;
  2491. L #Aktornummer;
  2492. L 303;
  2493. ==I ;
  2494. ) ;
  2495. U #Aktor_zurueck;
  2496. = "4K1";
  2497. NETWORK
  2498. TITLE =4K2 = 1; Vertikalmotor Handhabungsgerät runter
  2499. U( ;
  2500. U( ;
  2501. L #Schritt_Nr_2;
  2502. L 16;
  2503. ==I ;
  2504. ) ;
  2505. S #Merker_2;
  2506. U( ;
  2507. O #Reset;
  2508. O( ;
  2509. L #Schritt_Nr;
  2510. L 1;
  2511. ==I ;
  2512. ) ;
  2513. O( ;
  2514. L #Schritt_Nr_2;
  2515. L 17;
  2516. ==I ;
  2517. ) ;
  2518. O( ;
  2519. L #Schritt_Nr;
  2520. L 11;
  2521. ==I ;
  2522. ) ;
  2523. ) ;
  2524. R #Merker_2;
  2525. U #Merker_2;
  2526. ) ;
  2527. U #Aktorfreigabe;
  2528. O ;
  2529. U( ;
  2530. L #Aktornummer;
  2531. L 303;
  2532. ==I ;
  2533. ) ;
  2534. U #Aktor_vor;
  2535. = "4K2";
  2536. NETWORK
  2537. TITLE =4K3 = 1; Horizontalmotor Handhabungsgerät zurück
  2538. U( ;
  2539. U( ;
  2540. O( ;
  2541. U( ;
  2542. L #Schritt_Nr_2;
  2543. L 18;
  2544. ==I ;
  2545. ) ;
  2546. L S5T#1S300MS;
  2547. SE "T_Aushub_Handhabung";
  2548. U( ;
  2549. O( ;
  2550. L #Schritt_Nr_2;
  2551. L 19;
  2552. ==I ;
  2553. ) ;
  2554. O #Reset;
  2555. ) ;
  2556. R "T_Aushub_Handhabung";
  2557. NOP 0;
  2558. NOP 0;
  2559. U "T_Aushub_Handhabung";
  2560. ) ;
  2561. O( ;
  2562. L #Schritt_Nr;
  2563. L 2;
  2564. ==I ;
  2565. ) ;
  2566. ) ;
  2567. S #Merker_3;
  2568. U( ;
  2569. O( ;
  2570. L #Schritt_Nr;
  2571. L 3;
  2572. ==I ;
  2573. ) ;
  2574. O #Reset;
  2575. O( ;
  2576. L #Schritt_Nr;
  2577. L 14;
  2578. ==I ;
  2579. ) ;
  2580. O( ;
  2581. L #Schritt_Nr_2;
  2582. L 19;
  2583. ==I ;
  2584. ) ;
  2585. O( ;
  2586. L #Schritt_Nr;
  2587. L 6;
  2588. ==I ;
  2589. ) ;
  2590. ) ;
  2591. R #Merker_3;
  2592. U #Merker_3;
  2593. ) ;
  2594. U #Aktorfreigabe;
  2595. O ;
  2596. U( ;
  2597. L #Aktornummer;
  2598. L 304;
  2599. ==I ;
  2600. ) ;
  2601. U #Aktor_zurueck;
  2602. = "4K3";
  2603. NETWORK
  2604. TITLE =4K4 = 1; Horizontalmotor Handhabungsgerät vor
  2605. O E 1.6;
  2606. O ;
  2607. U( ;
  2608. U( ;
  2609. O( ;
  2610. L #Schritt_Nr;
  2611. L 6;
  2612. ==I ;
  2613. ) ;
  2614. O( ;
  2615. L #Schritt_Nr;
  2616. L 14;
  2617. ==I ;
  2618. ) ;
  2619. ) ;
  2620. S #Merker_4;
  2621. U( ;
  2622. O( ;
  2623. L #Schritt_Nr;
  2624. L 2;
  2625. ==I ;
  2626. ) ;
  2627. O #Reset;
  2628. O( ;
  2629. L #Schritt_Nr;
  2630. L 15;
  2631. ==I ;
  2632. ) ;
  2633. O( ;
  2634. L #Schritt_Nr_2;
  2635. L 18;
  2636. ==I ;
  2637. ) ;
  2638. O( ;
  2639. L #Schritt_Nr;
  2640. L 8;
  2641. ==I ;
  2642. ) ;
  2643. ) ;
  2644. R #Merker_4;
  2645. U #Merker_4;
  2646. ) ;
  2647. U #Aktorfreigabe;
  2648. O ;
  2649. U( ;
  2650. L #Aktornummer;
  2651. L 304;
  2652. ==I ;
  2653. ) ;
  2654. U #Aktor_vor;
  2655. = "4K4";
  2656. NETWORK
  2657. TITLE =4K5 = 1; Drehung Handhabungsgerät links
  2658. U( ;
  2659. U( ;
  2660. L #Schritt_Nr;
  2661. L 13;
  2662. ==I ;
  2663. ) ;
  2664. S #Merker_5;
  2665. U( ;
  2666. O #Reset;
  2667. O( ;
  2668. L #Schritt_Nr;
  2669. L 14;
  2670. ==I ;
  2671. ) ;
  2672. O( ;
  2673. L #Schritt_Nr;
  2674. L 3;
  2675. ==I ;
  2676. ) ;
  2677. ) ;
  2678. R #Merker_5;
  2679. U #Merker_5;
  2680. ) ;
  2681. U #Aktorfreigabe;
  2682. O ;
  2683. U( ;
  2684. L #Aktornummer;
  2685. L 305;
  2686. ==I ;
  2687. ) ;
  2688. U #Aktor_vor;
  2689. = "4K5";
  2690. NETWORK
  2691. TITLE =4K6 = 1; Drehung Handhabungsgerät rechts
  2692. U( ;
  2693. U( ;
  2694. L #Schritt_Nr;
  2695. L 3;
  2696. ==I ;
  2697. ) ;
  2698. S #Merker_6;
  2699. U( ;
  2700. O #Reset;
  2701. O( ;
  2702. L #Schritt_Nr;
  2703. L 13;
  2704. ==I ;
  2705. ) ;
  2706. O( ;
  2707. L #Schritt_Nr;
  2708. L 4;
  2709. ==I ;
  2710. ) ;
  2711. ) ;
  2712. R #Merker_6;
  2713. U #Merker_6;
  2714. ) ;
  2715. U #Aktorfreigabe;
  2716. O ;
  2717. U( ;
  2718. L #Aktornummer;
  2719. L 305;
  2720. ==I ;
  2721. ) ;
  2722. U #Aktor_zurueck;
  2723. = "4K6";
  2724. NETWORK
  2725. TITLE =3Y2 = 1; Werkstückspanner
  2726. U( ;
  2727. U( ;
  2728. L #Schritt_Nr;
  2729. L 5;
  2730. ==I ;
  2731. ) ;
  2732. S #Merker_8;
  2733. U( ;
  2734. O #Reset;
  2735. O( ;
  2736. L #Schritt_Nr;
  2737. L 10;
  2738. ==I ;
  2739. ) ;
  2740. ) ;
  2741. R #Merker_8;
  2742. U #Merker_8;
  2743. ) ;
  2744. U #Aktorfreigabe;
  2745. O ;
  2746. U( ;
  2747. L #Aktornummer;
  2748. L 301;
  2749. ==I ;
  2750. ) ;
  2751. U #Aktor_vor;
  2752. = "3Y2";
  2753. NETWORK
  2754. TITLE =4Y1 = 1; Greifer auf
  2755. U( ;
  2756. U( ;
  2757. O( ;
  2758. L #Schritt_Nr;
  2759. L 15;
  2760. ==I ;
  2761. ) ;
  2762. O( ;
  2763. L #Schritt_Nr;
  2764. L 1;
  2765. ==I ;
  2766. ) ;
  2767. ) ;
  2768. S #Merker_9;
  2769. U( ;
  2770. O #Reset;
  2771. O( ;
  2772. L #Schritt_Nr;
  2773. L 9;
  2774. ==I ;
  2775. ) ;
  2776. ) ;
  2777. R #Merker_9;
  2778. U #Merker_9;
  2779. ) ;
  2780. U #Aktorfreigabe;
  2781. O ;
  2782. U( ;
  2783. L #Aktornummer;
  2784. L 302;
  2785. ==I ;
  2786. ) ;
  2787. U #Aktor_zurueck;
  2788. = "4Y1";
  2789. NETWORK
  2790. TITLE =4Y2 = 1; Greifer zu
  2791. U( ;
  2792. U( ;
  2793. L #Schritt_Nr;
  2794. L 9;
  2795. ==I ;
  2796. ) ;
  2797. S #Merker_10;
  2798. U( ;
  2799. O #Reset;
  2800. O( ;
  2801. L #Schritt_Nr;
  2802. L 15;
  2803. ==I ;
  2804. ) ;
  2805. ) ;
  2806. R #Merker_10;
  2807. U #Merker_10;
  2808. ) ;
  2809. U #Aktorfreigabe;
  2810. O ;
  2811. U( ;
  2812. L #Aktornummer;
  2813. L 302;
  2814. ==I ;
  2815. ) ;
  2816. U #Aktor_vor;
  2817. = "4Y2";
  2818. END_FUNCTION_BLOCK
  2819. DATA_BLOCK "DB_Ausgänge_SK3"
  2820. TITLE =
  2821. VERSION : 0.0
  2822. "Ausgänge_Schrittkette_3"
  2823. BEGIN
  2824. Schritt_Nr := 0;
  2825. Schritt_Nr_2 := 0;
  2826. Reset := FALSE;
  2827. Aktornummer := 0;
  2828. Aktorfreigabe := FALSE;
  2829. Aktor_vor := FALSE;
  2830. Aktor_zurueck := FALSE;
  2831. Merker_1 := FALSE;
  2832. Merker_2 := FALSE;
  2833. Merker_3 := FALSE;
  2834. Merker_4 := FALSE;
  2835. Merker_5 := FALSE;
  2836. Merker_6 := FALSE;
  2837. Merker_7 := FALSE;
  2838. Merker_8 := FALSE;
  2839. Merker_9 := FALSE;
  2840. Merker_10 := FALSE;
  2841. Merker_11 := FALSE;
  2842. Merker_12 := FALSE;
  2843. END_DATA_BLOCK
  2844. ORGANIZATION_BLOCK "Programmzyklus"
  2845. TITLE = "Main Program Sweep (Cycle)"
  2846. VERSION : 0.1
  2847. VAR_TEMP
  2848. OB1_EV_CLASS : BYTE ; //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
  2849. OB1_SCAN_1 : BYTE ; //1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
  2850. OB1_PRIORITY : BYTE ; //Priority of OB Execution
  2851. OB1_OB_NUMBR : BYTE ; //1 (Organization block 1, OB1)
  2852. OB1_RESERVED_1 : BYTE ; //Reserved for system
  2853. OB1_RESERVED_2 : BYTE ; //Reserved for system
  2854. OB1_PREV_CYCLE : INT ; //Cycle time of previous OB1 scan (milliseconds)
  2855. OB1_MIN_CYCLE : INT ; //Minimum cycle time of OB1 (milliseconds)
  2856. OB1_MAX_CYCLE : INT ; //Maximum cycle time of OB1 (milliseconds)
  2857. OB1_DATE_TIME : DATE_AND_TIME ; //Date and time OB1 started
  2858. TEMP_T1_T2_SK1 : BOOL ;
  2859. TEMP_T2_T3_SK1 : BOOL ;
  2860. TEMP_T3_T4_SK1 : BOOL ;
  2861. TEMP_T4_T5_SK1 : BOOL ;
  2862. TEMP_T5_T6_SK1 : BOOL ;
  2863. TEMP_T6_T7_SK1 : BOOL ;
  2864. TEMP_T7_T1_Sk1 : BOOL ;
  2865. TEMP_T3_T10_SK1 : BOOL ;
  2866. TEMP_T10_T1_SK1 : BOOL ;
  2867. TEMP_Reset : BOOL ;
  2868. TEMP_T1_T2_SK2 : BOOL ;
  2869. TEMP_T2_T3_SK2 : BOOL ;
  2870. TEMP_T3_T4_SK2 : BOOL ;
  2871. TEMP_T4_T5_SK2 : BOOL ;
  2872. TEMP_T5_T6_SK2 : BOOL ;
  2873. TEMP_T6_T7_SK2 : BOOL ;
  2874. TEMP_T7_T1_SK2 : BOOL ;
  2875. TEMP_T1_T9_SK2 : BOOL ;
  2876. TEMP_T9_T10_SK2 : BOOL ;
  2877. TEMP_T10_T1_SK2 : BOOL ;
  2878. TEMP_T4_T11_SK2 : BOOL ;
  2879. TEMP_T11_T12_SK2 : BOOL ;
  2880. TEMP_T12_T13_SK2 : BOOL ;
  2881. TEMP_T13_T7_SK2 : BOOL ;
  2882. TEMP_Fr_k_mb : BOOL ;
  2883. TEMP_Fr_k_ob : BOOL ;
  2884. TEMP_Fr_Aktion : BOOL ;
  2885. TEMP_gemessene_dicke : WORD ;
  2886. TEMP_gemessene_farbe : BOOL ;
  2887. TEMP_wert_einschieben : BOOL ;
  2888. TEMP_T1_T2_SK3 : BOOL ;
  2889. TEMP_T2_T3_SK3 : BOOL ;
  2890. TEMP_T3_T4_SK3 : BOOL ;
  2891. TEMP_T4_T5_SK3 : BOOL ;
  2892. TEMP_T5_T6_SK3 : BOOL ;
  2893. TEMP_T6_T7_u_T6_T16_SK3 : BOOL ;
  2894. TEMP_T7_T8_SK3 : BOOL ;
  2895. TEMP_T8_T9_u_T17_T9_SK3 : BOOL ;
  2896. TEMP_T9_T10_SK3 : BOOL ;
  2897. TEMP_T10_T11_u_10_18_SK3 : BOOL ;
  2898. TEMP_T11_T12_SK3 : BOOL ;
  2899. TEMP_T12_T13_u_19_13_SK3 : BOOL ;
  2900. TEMP_T13_T14_SK3 : BOOL ;
  2901. TEMP_T14_T15_SK3 : BOOL ;
  2902. TEMP_T15_T1_SK3 : BOOL ;
  2903. TEMP_T16_T17_SK3 : BOOL ;
  2904. TEMP_T18_T19_SK3 : BOOL ;
  2905. TEMP_schiebereg_aus : BOOL ;
  2906. TEMP_schiebereg_farbe : BOOL ;
  2907. TEMP_Aktor_vor : BOOL ;
  2908. TEMP_Aktor_zurueck : BOOL ;
  2909. TEMP_Aktornummer : INT ;
  2910. TEMP_Dicke : WORD ;
  2911. END_VAR
  2912. BEGIN
  2913. NETWORK
  2914. TITLE =Handbetrieb: "Aktor vor" Signal erzeugen und verriegeln
  2915. U "Handbetrieb";
  2916. UN "AktorRück_Hand";
  2917. U "AktorVor_Hand";
  2918. = #TEMP_Aktor_vor;
  2919. NETWORK
  2920. TITLE =Handbetrieb: "Aktor zurueck" Signal erzeugen und verriegeln
  2921. U "Handbetrieb";
  2922. U "AktorRück_Hand";
  2923. UN "AktorVor_Hand";
  2924. = #TEMP_Aktor_zurueck;
  2925. NETWORK
  2926. TITLE =Handbetrieb: Aktornummer von BCD wandeln
  2927. //Der BTI-Befehl wird nicht direkt verwendet, weil dies bei einer fehlerhaften
  2928. //BCD-Zahl zu einem STOP der Anlage führt. Stattdessen wird mit dem FC100 im
  2929. //Fehlerfall eine -1 ausgegeben.
  2930. CALL "BCD_zu_INT_Wandler" (
  2931. bcd_wert := "Aktornummer_Hand",
  2932. fehler_wert := -1,
  2933. RET_VAL := #TEMP_Aktornummer);
  2934. NOP 0;
  2935. NETWORK
  2936. TITLE =Transitionen für Schrittkette 1
  2937. CALL "Eingaenge_Schrittkette_1" , "DB_Transitionen_SK1" (
  2938. T1_2 := #TEMP_T1_T2_SK1,
  2939. T2_3 := #TEMP_T2_T3_SK1,
  2940. T3_4 := #TEMP_T3_T4_SK1,
  2941. T4_5 := #TEMP_T4_T5_SK1,
  2942. T5_6 := #TEMP_T5_T6_SK1,
  2943. T6_7 := #TEMP_T6_T7_SK1,
  2944. T7_1 := #TEMP_T7_T1_Sk1,
  2945. T3_10 := #TEMP_T3_T10_SK1,
  2946. T10_1 := #TEMP_T10_T1_SK1);
  2947. NOP 0;
  2948. NETWORK
  2949. TITLE =Betriebsarten
  2950. U "EIN";
  2951. = L 34.0;
  2952. BLD 103;
  2953. U "EIN";
  2954. = L 34.1;
  2955. BLD 103;
  2956. U "Start";
  2957. = L 34.2;
  2958. BLD 103;
  2959. U "Automatikbetrieb";
  2960. = L 34.3;
  2961. BLD 103;
  2962. U "Handbetrieb";
  2963. = L 34.6;
  2964. BLD 103;
  2965. U "NOT_AUS";
  2966. = L 35.0;
  2967. BLD 103;
  2968. U "Handbetrieb";
  2969. = L 35.1;
  2970. BLD 103;
  2971. U "Grundstellung";
  2972. = L 35.2;
  2973. BLD 103;
  2974. U "Quit";
  2975. = L 35.4;
  2976. BLD 103;
  2977. CALL "Betriebsarten" , "DB_Betriebsarten" (
  2978. STG_AUS := L 34.0,
  2979. STG_EIN := L 34.1,
  2980. Start := L 34.2,
  2981. Auto := L 34.3,
  2982. EINR := L 34.6,
  2983. NOT_AUS := L 35.0,
  2984. AKTOR_FR := L 35.1,
  2985. GST_ANL := L 35.2,
  2986. Quitt := L 35.4,
  2987. ANZ_STG := "H_Steuerung_Ein",
  2988. ANZ_AUTO := "H_Automatikbetrieb",
  2989. ANZ_EINR := "H_Handbetrieb",
  2990. Reset := #TEMP_Reset,
  2991. FR_K_mB := #TEMP_Fr_k_mb,
  2992. FR_K_oB := #TEMP_Fr_k_ob,
  2993. FR_AKTION := #TEMP_Fr_Aktion);
  2994. NOP 0;
  2995. NETWORK
  2996. TITLE =Merker "Erster Zyklus"
  2997. U #TEMP_Reset; // Wenn RESET aktiv, dann...
  2998. SPBN ners;
  2999. SET ; // Merker "Erster Zyklus" setzen
  3000. = "Erster_Zyklus";
  3001. ners: NOP 0;
  3002. NETWORK
  3003. TITLE =Schrittkette 1 (Magazin)
  3004. U #TEMP_T1_T2_SK1;
  3005. = L 34.0;
  3006. BLD 103;
  3007. U #TEMP_T2_T3_SK1;
  3008. = L 34.1;
  3009. BLD 103;
  3010. U #TEMP_T3_T4_SK1;
  3011. = L 34.2;
  3012. BLD 103;
  3013. U #TEMP_T3_T10_SK1;
  3014. = L 34.3;
  3015. BLD 103;
  3016. U #TEMP_T4_T5_SK1;
  3017. = L 34.4;
  3018. BLD 103;
  3019. U #TEMP_T5_T6_SK1;
  3020. = L 34.5;
  3021. BLD 103;
  3022. U #TEMP_T6_T7_SK1;
  3023. = L 34.6;
  3024. BLD 103;
  3025. U #TEMP_T7_T1_Sk1;
  3026. = L 34.7;
  3027. BLD 103;
  3028. U #TEMP_T10_T1_SK1;
  3029. = L 35.0;
  3030. BLD 103;
  3031. U #TEMP_Reset;
  3032. = L 35.1;
  3033. BLD 103;
  3034. U #TEMP_Fr_k_ob;
  3035. = L 35.2;
  3036. BLD 103;
  3037. U #TEMP_Fr_k_mb;
  3038. = L 35.3;
  3039. BLD 103;
  3040. CALL "Schrittkette 1 (Magazin)" , "DB_Schrittkette_1" (
  3041. T1_2 := L 34.0,
  3042. T2_3 := L 34.1,
  3043. T3_4 := L 34.2,
  3044. T3_10 := L 34.3,
  3045. T4_5 := L 34.4,
  3046. T5_6 := L 34.5,
  3047. T6_7 := L 34.6,
  3048. T7_1 := L 34.7,
  3049. T10_1 := L 35.0,
  3050. Reset := L 35.1,
  3051. Weiter_oB := L 35.2,
  3052. Weiter_mB := L 35.3,
  3053. Schritt := "OB1_Daten".SK1_Schritt_Nr);
  3054. NOP 0;
  3055. NETWORK
  3056. TITLE =Ausgänge für Schrittkette 1
  3057. U #TEMP_Reset;
  3058. = L 34.0;
  3059. BLD 103;
  3060. U #TEMP_Fr_Aktion;
  3061. = L 34.1;
  3062. BLD 103;
  3063. U #TEMP_Aktor_vor;
  3064. = L 34.2;
  3065. BLD 103;
  3066. U #TEMP_Aktor_zurueck;
  3067. = L 34.3;
  3068. BLD 103;
  3069. CALL "Ausgaenge_Schrittkette_1" , "DB_Ausgänge_SK1" (
  3070. Schritt_Nr := "OB1_Daten".SK1_Schritt_Nr,
  3071. Reset := L 34.0,
  3072. Aktorfreigabe := L 34.1,
  3073. Aktornummer := #TEMP_Aktornummer,
  3074. Aktor_vor := L 34.2,
  3075. Aktor_zurueck := L 34.3);
  3076. NOP 0;
  3077. NETWORK
  3078. TITLE =Transitionen für Schrittkette 2
  3079. CALL "Eingänge_Schrittkette_2" , "DB_Transitionen_SK2" (
  3080. fuellstand_schieberegist := "OB1_Daten".Schiebereg_Fuellstand,
  3081. T1_2 := #TEMP_T1_T2_SK2,
  3082. T2_3 := #TEMP_T2_T3_SK2,
  3083. T3_4 := #TEMP_T3_T4_SK2,
  3084. T4_5 := #TEMP_T4_T5_SK2,
  3085. T5_6 := #TEMP_T5_T6_SK2,
  3086. T6_7 := #TEMP_T6_T7_SK2,
  3087. T7_1 := #TEMP_T7_T1_SK2,
  3088. T1_9 := #TEMP_T1_T9_SK2,
  3089. T9_10 := #TEMP_T9_T10_SK2,
  3090. T10_1 := #TEMP_T10_T1_SK2,
  3091. T4_11 := #TEMP_T4_T11_SK2,
  3092. T11_12 := #TEMP_T11_T12_SK2,
  3093. T12_13 := #TEMP_T12_T13_SK2,
  3094. T13_7 := #TEMP_T13_T7_SK2);
  3095. NOP 0;
  3096. NETWORK
  3097. TITLE =Schrittkette 2 (Prüfen)
  3098. U #TEMP_T1_T2_SK2;
  3099. = L 34.0;
  3100. BLD 103;
  3101. U #TEMP_T2_T3_SK2;
  3102. = L 34.1;
  3103. BLD 103;
  3104. U #TEMP_T3_T4_SK2;
  3105. = L 34.2;
  3106. BLD 103;
  3107. U #TEMP_T4_T5_SK2;
  3108. = L 34.3;
  3109. BLD 103;
  3110. U #TEMP_T5_T6_SK2;
  3111. = L 34.4;
  3112. BLD 103;
  3113. U #TEMP_T6_T7_SK2;
  3114. = L 34.5;
  3115. BLD 103;
  3116. U #TEMP_T7_T1_SK2;
  3117. = L 34.6;
  3118. BLD 103;
  3119. U #TEMP_T1_T9_SK2;
  3120. = L 34.7;
  3121. BLD 103;
  3122. U #TEMP_T9_T10_SK2;
  3123. = L 35.0;
  3124. BLD 103;
  3125. U #TEMP_T10_T1_SK2;
  3126. = L 35.1;
  3127. BLD 103;
  3128. U #TEMP_T4_T11_SK2;
  3129. = L 35.2;
  3130. BLD 103;
  3131. U #TEMP_T11_T12_SK2;
  3132. = L 35.3;
  3133. BLD 103;
  3134. U #TEMP_T12_T13_SK2;
  3135. = L 35.4;
  3136. BLD 103;
  3137. U #TEMP_T13_T7_SK2;
  3138. = L 35.5;
  3139. BLD 103;
  3140. U #TEMP_Reset;
  3141. = L 35.6;
  3142. BLD 103;
  3143. U #TEMP_Fr_k_ob;
  3144. = L 35.7;
  3145. BLD 103;
  3146. U #TEMP_Fr_k_mb;
  3147. = L 36.0;
  3148. BLD 103;
  3149. CALL "Schrittkette 2 (Prüfen)" , "DB_Schrittkette_2" (
  3150. T1_2 := L 34.0,
  3151. T2_3 := L 34.1,
  3152. T3_4 := L 34.2,
  3153. T4_5 := L 34.3,
  3154. T5_6 := L 34.4,
  3155. T6_7 := L 34.5,
  3156. T7_1 := L 34.6,
  3157. T1_9 := L 34.7,
  3158. T9_10 := L 35.0,
  3159. T10_1 := L 35.1,
  3160. T4_11 := L 35.2,
  3161. T11_12 := L 35.3,
  3162. T12_13 := L 35.4,
  3163. T13_7 := L 35.5,
  3164. Reset := L 35.6,
  3165. Weiter_oB := L 35.7,
  3166. Weiter_mB := L 36.0,
  3167. Schritt := "OB1_Daten".SK2_Schritt_Nr);
  3168. NOP 0;
  3169. NETWORK
  3170. TITLE =Ausgänge für Schrittkette 2
  3171. U #TEMP_Reset;
  3172. = L 34.0;
  3173. BLD 103;
  3174. U #TEMP_Fr_Aktion;
  3175. = L 34.1;
  3176. BLD 103;
  3177. U #TEMP_Aktor_vor;
  3178. = L 34.2;
  3179. BLD 103;
  3180. U #TEMP_Aktor_zurueck;
  3181. = L 34.3;
  3182. BLD 103;
  3183. CALL "Ausgänge_Schrittkette_2" , "DB_Ausgänge_SK2" (
  3184. Schritt_Nr := "OB1_Daten".SK2_Schritt_Nr,
  3185. Reset := L 34.0,
  3186. Aktorfreigabe := L 34.1,
  3187. Aktornummer := #TEMP_Aktornummer,
  3188. Aktor_vor := L 34.2,
  3189. Aktor_zurueck := L 34.3,
  3190. gemessene_dicke := #TEMP_gemessene_dicke,
  3191. gemessene_farbe := #TEMP_gemessene_farbe,
  3192. gem_wert_schieben := #TEMP_wert_einschieben);
  3193. NOP 0;
  3194. NETWORK
  3195. TITLE =Signal erzeugen: Schieberegister entnehmen
  3196. L 8;
  3197. L "OB1_Daten".SK3_Schritt_Nr;
  3198. ==I ;
  3199. = #TEMP_schiebereg_aus;
  3200. NETWORK
  3201. TITLE =Daten in Schieberegister einschieben und entnehmen
  3202. U #TEMP_gemessene_farbe;
  3203. = L 34.0;
  3204. BLD 103;
  3205. U #TEMP_wert_einschieben;
  3206. = L 34.1;
  3207. BLD 103;
  3208. U #TEMP_schiebereg_aus;
  3209. = L 34.2;
  3210. BLD 103;
  3211. U #TEMP_Reset;
  3212. = L 34.3;
  3213. BLD 103;
  3214. CALL "Schieberegister" , "DB_Schiebereg_Band" (
  3215. Dicke_Eingang := #TEMP_gemessene_dicke,
  3216. Farbe_Eingang := L 34.0,
  3217. Einschieben := L 34.1,
  3218. Ausschieben := L 34.2,
  3219. reset := L 34.3,
  3220. Anzahl_Teile := "OB1_Daten".Schiebereg_Fuellstand,
  3221. Farbe_Ausgang := #TEMP_schiebereg_farbe,
  3222. Dicke_Ausgang := #TEMP_Dicke);
  3223. NOP 0;
  3224. NETWORK
  3225. TITLE =Dicke von Teil im Greifer und Füllstand Schieberegister ausgeben
  3226. L "OB1_Daten".Schiebereg_Fuellstand;
  3227. DTB ; // Kein ITB, weil ITB nur 3-stellig
  3228. T "Ausgabe_SchReg_Fuellst"; // Auf BCD-Anzeige 1 ausgeben
  3229. L #TEMP_Dicke;
  3230. DTB ; // Kein ITB, weil ITB nur 3-stellig
  3231. T "Ausgabe_Teiledicke"; // Auf BCD-ANzeige 2 ausgeben
  3232. NETWORK
  3233. TITLE =Transitionen für Schrittkette 3
  3234. U #TEMP_schiebereg_farbe;
  3235. = L 34.0;
  3236. BLD 103;
  3237. CALL "Eingänge Schrittkette_3" , "DB_Transitionen_SK3" (
  3238. Anzahl_Teile := "OB1_Daten".SK3_Schritt_Nr_2,
  3239. Farbe_Rot := L 34.0,
  3240. T1_2 := #TEMP_T1_T2_SK3,
  3241. T2_3 := #TEMP_T2_T3_SK3,
  3242. T3_4 := #TEMP_T3_T4_SK3,
  3243. T4_5 := #TEMP_T4_T5_SK3,
  3244. T5_6 := #TEMP_T5_T6_SK3,
  3245. T6_7_u_6_16 := #TEMP_T6_T7_u_T6_T16_SK3,
  3246. T7_8 := #TEMP_T7_T8_SK3,
  3247. T8_9_u_17_9 := #TEMP_T8_T9_u_T17_T9_SK3,
  3248. T9_10 := #TEMP_T9_T10_SK3,
  3249. T10_11_u_10_18 := #TEMP_T10_T11_u_10_18_SK3,
  3250. T11_12 := #TEMP_T11_T12_SK3,
  3251. T12_13_u_19_13 := #TEMP_T12_T13_u_19_13_SK3,
  3252. T13_14 := #TEMP_T13_T14_SK3,
  3253. T14_15 := #TEMP_T14_T15_SK3,
  3254. T15_1 := #TEMP_T15_T1_SK3,
  3255. T16_17 := #TEMP_T16_T17_SK3,
  3256. T18_19 := #TEMP_T18_T19_SK3);
  3257. NOP 0;
  3258. NETWORK
  3259. TITLE =Schrittkette 3 (Greifer)
  3260. U #TEMP_T1_T2_SK3;
  3261. = L 34.0;
  3262. BLD 103;
  3263. U #TEMP_T2_T3_SK3;
  3264. = L 34.1;
  3265. BLD 103;
  3266. U #TEMP_T3_T4_SK3;
  3267. = L 34.2;
  3268. BLD 103;
  3269. U #TEMP_T4_T5_SK3;
  3270. = L 34.3;
  3271. BLD 103;
  3272. U #TEMP_T5_T6_SK3;
  3273. = L 34.4;
  3274. BLD 103;
  3275. U #TEMP_T6_T7_u_T6_T16_SK3;
  3276. = L 34.5;
  3277. BLD 103;
  3278. U #TEMP_T7_T8_SK3;
  3279. = L 34.6;
  3280. BLD 103;
  3281. U #TEMP_T8_T9_u_T17_T9_SK3;
  3282. = L 34.7;
  3283. BLD 103;
  3284. U #TEMP_T9_T10_SK3;
  3285. = L 35.0;
  3286. BLD 103;
  3287. U #TEMP_T10_T11_u_10_18_SK3;
  3288. = L 35.1;
  3289. BLD 103;
  3290. U #TEMP_T11_T12_SK3;
  3291. = L 35.2;
  3292. BLD 103;
  3293. U #TEMP_T12_T13_u_19_13_SK3;
  3294. = L 35.3;
  3295. BLD 103;
  3296. U #TEMP_T13_T14_SK3;
  3297. = L 35.4;
  3298. BLD 103;
  3299. U #TEMP_T14_T15_SK3;
  3300. = L 35.5;
  3301. BLD 103;
  3302. U #TEMP_T15_T1_SK3;
  3303. = L 35.6;
  3304. BLD 103;
  3305. U #TEMP_T16_T17_SK3;
  3306. = L 35.7;
  3307. BLD 103;
  3308. U #TEMP_T18_T19_SK3;
  3309. = L 36.0;
  3310. BLD 103;
  3311. U #TEMP_Reset;
  3312. = L 36.1;
  3313. BLD 103;
  3314. U #TEMP_Fr_k_ob;
  3315. = L 36.2;
  3316. BLD 103;
  3317. U #TEMP_Fr_k_mb;
  3318. = L 36.3;
  3319. BLD 103;
  3320. CALL "Schrittkette 3 (Greifer)" , "DB_Schrittkette_3" (
  3321. T1_2 := L 34.0,
  3322. T2_3 := L 34.1,
  3323. T3_4 := L 34.2,
  3324. T4_5 := L 34.3,
  3325. T5_6 := L 34.4,
  3326. T6_7_u_6_16 := L 34.5,
  3327. T7_8 := L 34.6,
  3328. T8_9_u_17_9 := L 34.7,
  3329. T9_10 := L 35.0,
  3330. T10_11_u_10_18 := L 35.1,
  3331. T11_12 := L 35.2,
  3332. T12_13_u_19_13 := L 35.3,
  3333. T13_14 := L 35.4,
  3334. T14_15 := L 35.5,
  3335. T15_1 := L 35.6,
  3336. T16_17 := L 35.7,
  3337. T18_19 := L 36.0,
  3338. Reset := L 36.1,
  3339. Weiter_ob := L 36.2,
  3340. Weiter_mb := L 36.3,
  3341. Schritt := "OB1_Daten".SK3_Schritt_Nr,
  3342. Schritt2 := "OB1_Daten".SK3_Schritt_Nr_2);
  3343. NOP 0;
  3344. NETWORK
  3345. TITLE =Ausgänge für Schrittkette 3
  3346. U #TEMP_Reset;
  3347. = L 34.0;
  3348. BLD 103;
  3349. U #TEMP_Fr_Aktion;
  3350. = L 34.1;
  3351. BLD 103;
  3352. U #TEMP_Aktor_vor;
  3353. = L 34.2;
  3354. BLD 103;
  3355. U #TEMP_Aktor_zurueck;
  3356. = L 34.3;
  3357. BLD 103;
  3358. CALL "Ausgänge_Schrittkette_3" , "DB_Ausgänge_SK3" (
  3359. Schritt_Nr := "OB1_Daten".SK3_Schritt_Nr,
  3360. Schritt_Nr_2 := "OB1_Daten".SK3_Schritt_Nr_2,
  3361. Reset := L 34.0,
  3362. Aktornummer := #TEMP_Aktornummer,
  3363. Aktorfreigabe := L 34.1,
  3364. Aktor_vor := L 34.2,
  3365. Aktor_zurueck := L 34.3);
  3366. NOP 0;
  3367. END_ORGANIZATION_BLOCK
  3368. ORGANIZATION_BLOCK "RACK_FLT"
  3369. TITLE = "Loss Of Rack Fault"
  3370. VERSION : 0.1
  3371. VAR_TEMP
  3372. OB86_EV_CLASS : BYTE ; //16#38/39 Event class 3
  3373. OB86_FLT_ID : BYTE ; //16#C1/C4/C5, Fault identifcation code
  3374. OB86_PRIORITY : BYTE ; //Priority of OB Execution
  3375. OB86_OB_NUMBR : BYTE ; //86 (Organization block 86, OB86)
  3376. OB86_RESERVED_1 : BYTE ; //Reserved for system
  3377. OB86_RESERVED_2 : BYTE ; //Reserved for system
  3378. OB86_MDL_ADDR : WORD ; //Base address of IM module in rack with fault
  3379. OB86_RACKS_FLTD : ARRAY [0 .. 31 ] OF BOOL ; //Racks in fault
  3380. OB86_DATE_TIME : DATE_AND_TIME ; //Date and time OB86 started
  3381. END_VAR
  3382. BEGIN
  3383. NETWORK
  3384. TITLE =
  3385. END_ORGANIZATION_BLOCK
  3386. ORGANIZATION_BLOCK "COMPLETE RESTART"
  3387. TITLE = "Complete Restart"
  3388. //Hochlauf-OB
  3389. //Wird einmal beim Start der SPS ausgeführt
  3390. VERSION : 0.1
  3391. VAR_TEMP
  3392. OB100_EV_CLASS : BYTE ; //16#13, Event class 1, Entering event state, Event logged in diagnostic buffer
  3393. OB100_STRTUP : BYTE ; //16#81/82/83/84 Method of startup
  3394. OB100_PRIORITY : BYTE ; //Priority of OB Execution
  3395. OB100_OB_NUMBR : BYTE ; //100 (Organization block 100, OB100)
  3396. OB100_RESERVED_1 : BYTE ; //Reserved for system
  3397. OB100_RESERVED_2 : BYTE ; //Reserved for system
  3398. OB100_STOP : WORD ; //Event that caused CPU to stop (16#4xxx)
  3399. OB100_STRT_INFO : DWORD ; //Information on how system started
  3400. OB100_DATE_TIME : DATE_AND_TIME ; //Date and time OB100 started
  3401. END_VAR
  3402. BEGIN
  3403. NETWORK
  3404. TITLE =1: Erster Zyklus
  3405. SET ; // Merker "Erster Zyklus" setzen
  3406. = "Erster_Zyklus";
  3407. END_ORGANIZATION_BLOCK
  3408. FUNCTION "BCD_zu_INT_Wandler" : INT
  3409. VAR_INPUT
  3410. bcd_wert : WORD;
  3411. fehler_wert : INT;
  3412. END_VAR
  3413. BEGIN
  3414. SET ;
  3415. SAVE ;
  3416. = L 0.1;
  3417. L #bcd_wert;
  3418. L W#16#F;
  3419. UW ;
  3420. L 9;
  3421. >I ;
  3422. L #bcd_wert;
  3423. L W#16#F0;
  3424. UW ;
  3425. L 144;
  3426. = L 0.2;
  3427. >I ;
  3428. O L 0.2;
  3429. L #bcd_wert;
  3430. L W#16#F00;
  3431. UW ;
  3432. L 2304;
  3433. = L 0.2;
  3434. >I ;
  3435. O L 0.2;
  3436. SPBN A7d0;
  3437. L #fehler_wert;
  3438. T #RET_VAL;
  3439. SPA A7d1;
  3440. A7d0: L #bcd_wert;
  3441. BTI ;
  3442. T #RET_VAL;
  3443. A7d1: CLR ;
  3444. U L 0.1;
  3445. SAVE ;
  3446. BE ;
  3447. END_FUNCTION