Új hozzászólás Aktív témák
-
Onishi
tag
Sziasztok!
Előre is bocsi a kisregényért.
A feladat a következő lenne:
2db fényújságot kell soros porton vezérelni egy gyárban, a kiküldendő adatokat egy HMI PC-ből kell venni amin WinCC Flexible 2005 Runtime fut. A PC és a fényújságok között egy-egy soros-ethernet átalakító van. Az eredeti WinCC projekt megvan, így abban egy script segítségével oldottam meg a feladatot. Ez a script végzi az adatok összegyűjtését, a kiírandó szövegek generálását, az időzítések számolását valamint a soros porton történő kiküldést a fényújság felé.
A tesztelés során 2 problémába ütköztem:1.) A script szépen küldi ki az adatokat a fényújság felé, de ha tegyük fel áramtalanítják a fényújságot, vagy valamiért nem elérhető, attól a program még küldi az adatokat, amely egy bufferbe tölti őket, majd ha a fényújságot tegyük fel visszakapcsolják, akkor a bufferből elkezdi folyamatosan ontani az adatokat, amitől a fényújság megkergül. Namost erre az MSCOMM32 objektum OutBufferCount = 0 parancsa valószínű jó lenne, de az MSCOMM32 objektum nem használható VBScript alól, licenszet kér hozzá, ezért letöltöttem az ingyenes NetCommOCX-et, ami ugyanazt tudja mint az MSCOMM32 kivéve az OutBufferCount-ot, mert azt nem tudja, vagy legalábbis nem működik :-). Először a soros port kezelésre egy másik eljárást, a sima OpenTextFile-t használtam, amivel szintén lehet soros portra adatokat küldeni, de a port tulajdonságait tudomásom szerint nem lehet vele megadni és az mindig átállítja a baudrate-et 1200-ra, szóval az sem használható. Más eljárást VBScript-re nem találtam, ami soros port kezelésre lenne való.
Erre a buffertöltéses problémára már kitaláltam egy megoldást: a soros-ethernet átalakítókat pingelni fogom, és ha nem elérhető, nem küldök adatot. Más nem jut eszembe amivel ezt ki tudnám védeni, de nektek hátha van jobb ötletetek.2.) A script látszólag jól működik küldi azt amit kell, de van amikor valami meghülyül és elkezdi magából ontani az adatokat. Ez vagy csak 0, vagy látszólag random karakterek. De ezt olyan sebességgel végzi, amit én tuti nem tudok a sciptből küldeni, mert azt csak másoodpercenként hívom meg, és kb 5-20 másodpercenként küldöm a fényújságba az adatokat. Először gyanakodtam a soros-ethernet átalakítóra, hogy az zavarodik össze, de kipróbáltam az ottani gép saját soros portján küldeni, és azon is előjön. Ezt a megzavarodást, csak úgy tudom megszüntetni, hogy leállítom a runtime-ot, és a soros drivert újraindítom. Azt még meg fogom próbálni, hogy csak a runtime indításakor nyitom meg a portokat, és nem zárogatom mindig le, hanem, csak ha a runtime-ot leállítják akkor. Lehet az állandó port nyitás, meg zárás okozza, nem tudom.
Végső megoldásként azt is lehet, hogyha a gyárban tudnának jogtiszta excelt feltenni a gépre, akkor abban sima Visual Basic-ben is meg lehetne oldani a soros porton kiküldést, ami lehet stabilabb lenne. WinCC scripttel pedig egy fáljba írnám az adatokat, amit a nagy VB olvasna, de kiküldené már ő küldené ki.
Bemásolom a soros port kezelés részt a scriptből:
Set objComport = CreateObject("NETCommOCX.NETComm")
objComport.CommPort = 2
objComport.Settings = "9600,N,8,N"
objComport.PortOpen = True
objComport.Output = Chr(21)
objComport.Output = Chr(18)
objComport.Output = Chr(5)
'Küldendő szöveg:
objComport.Output = fenyero + out + kifutas
'Lezárás:
objComport.Output = Chr(254)
objComport.Output = Chr(lezaras)
objComport.PortOpen = FalseRemélem van köztetek valaki a ki csinált már hasonlót és belefutott már ilyen problémákba.
Előre is köszönöm a segítséget.
Új hozzászólás Aktív témák
- Polgári repülőgép-szimulátorok
- Elektromos autók - motorok
- One otthoni szolgáltatások (TV, internet, telefon)
- Vicces képek
- Nem kilincselhet tovább a Tesla Kínában
- Kerékpárosok, bringások ide!
- Asztrofotózás
- Mobil flották
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4022
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 12 Pro Max 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS4025
- 365 NAPRA RÉSZLETRE BANKMNETES KAMATMENTES , GAMER PC ,LAPTOPOK , GAMER SZÉKEK , GAMER MONITOROK
- ELADNÁD IPHONE KÉSZŰLÉKED? ADD EL A MOBILESHARKNAK GYORSAN ÉS BIZTONSÁGOSAN!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest

