December 13, 2017, 7:05 am
Hallo
Ich soll ein Projekt von einer S7-1200 auf eine S7-1500 konvertieren.
( Ist meine erste Arbeit auf einer S7-1500 - habe bisher fast nur s7-400H programmiert )
Dabei soll auch eine Kommunikation über ModBus RTU erfolgen
Die richtige serielle Karte verwenden wir.
Ich verwende die Bausteine Modbus_Comm_Load und Modbus_Slave aus der Bibliothek vom TIA-Portal.
Der Baustein Modbus_Slave liefert mir aber einen Fehler zurück.
Fehlercode 8082 und im DB im RDREC.STATUS den Fehlercode C0809300
Für den Fehlercode C0809300 finde ich keine Fehlerbeschreibung.
Kann mir da jemand helfen.
Danke Euch
Mandi
↧
December 13, 2017, 7:18 am
Hello to all,
I am new to plc data reading , please help
Actually i want to download the PLC data i.e all memory address from S7 313C PLC to my laptop
1. I want to ask one question from all of you, is this possible to take the data or read all memory address from S7 313C PLC when PLC is in run mode and i dont want to stop the PLC
2. And there is any possibility that during plc is in run mode and we are taking data the plc goes into stop mode.
with best regards
Saurabh Samber
↧
↧
December 13, 2017, 12:27 pm
Servus zusammen,
Ich habe Probleme beim Installieren von TwinCAT 3 (Version 3.1.4022.4).
So kurz mal zu den Ausgangsdaten: Ich habe einen Beckhoff IPC 6930 (i7 2.3GHz, 8GB Ram) Windows 7 Professional wurde neu installiert. Zuerst habe ich auf der Homepage das Full Setup runtergeladen und anschließend wie beschrieben installiert -> https://infosys.beckhoff.com/index.php?content=../content/1031/tc3_installation/18014398956967307.html&id=4412182517059464505
Leider kam bei der ersten Installation das sämtliche Treiber nicht installiert werden können da sie nicht digital signiert sind. Also alles nochmal runtergeworfen, Testmode aktiviert und nochmal installiert. Diesmal gabes keine Fehlermeldungen.
Leider geht das TwinCat weder in Konfig noch in Runmodus, das Icon bleibt gelb -> TwinCat Dienste nicht Aktiv. wenn ich den Modus von Hand ändere dann kommt -> Fehler 0x246 beim Starten des TwinCat Systems.
Wenn ich ein Projekt erstelle und über System -> auf Licence gehe, steht normalerweise auch eine System-Id, dort stehen nur nullen drin.
Kann mir jemand weiterhelfen?
Danke schonmal vorab für eure Hilfe.
Gruß Phoehle
↧
December 13, 2017, 1:03 pm
Hallo
ist es möglich festzustellen wann der letze download Zur S7-1500 sps durchgeföhrt Wurde?
oder kan man das irgenwie in diagnose buffer aufzeichnen?
↧
December 13, 2017, 1:11 pm
Hallo zusammen,
ich habe die Möglichkeit, mir einen neuen Installationstester für VDE 0100-600 bzw. VDE 0105 zu bestellen.
Früher habe ich öfter mit dem Beha Unitest gearbeitet, welcher allerdings nicht mehr in Frage kommt.
Zur Auswahl stehen aktuell der Fluke 1663 oder 1664FC sowie von Benning der IT 130. Ich tendiere momentan eher zum Benning IT 130, da ich hier einen Vorteil im Preis/Leistungsverhältnis sehe. Ich habe aber mit beiden Geräten noch nicht gearbeitet. Mir geht es auch hauptsächlich darum, das ich unsere Installation während des normalen Messintervalls "zwischenprüfen" kann sowie Neuinstallationen und Umbauten vor IBN checken kann. Der Installationstester wird nicht mein tägliches Werkzeug sein. Das Thema allstromsensitive RCD´s muss das Messgerät aber beherschen.
Wer kann mir ggf. weitere gute Installationstester empfehlen oder mir ein Feedback zu den Fluke Geräten bzw. zum Benning Gerät geben?
Gruß
MeisterLampe81
↧
↧
December 13, 2017, 11:36 pm
Guten Morgen zusammen,
ich bin Neuling im Bereich der SPS-Programmierung. Möchte nun ein Programm erstellen und habe damit in AS und SCL angefangen (e!cockpit, also Codesys 3.5).
Ich möchte 20 Ventile steuern, die zu verschiedenen Zeiten (insgesamt ~100 Zeitpunkte) eine andere Stellung haben.
Ich habe also eine Schrittkette in AS gemacht, jeder Schritt stellt einen anderen Zeitpunkt dar. In der Aktion habe ich die Dauer und die Ventilstellung geschrieben.
Das funktioniert für wenige Schritte schonmal. Bevor ich das jetzt aber auf 100 Schritte und 20 Ventile ausweite die Frage, ob das Sinn macht, bzw. auch einfacher geht?
Btw: Die Zeiten der einzelnen Schritte und die dazugehörige Ventilstellung soll dann individuell in der Visu eingetragen werden können.
Danke schonmal
Gruß
elbibi
↧
December 13, 2017, 11:52 pm
Hallo zusammen,
wir nutzen eine CPU 1512SP F-1 PN Mit Sicheren Ausgängen 6ES7136-6DB00-0CA0 und sicheren Motorstartern 3RM1107 3AA04.
Verdrahtet ist der Ausgang der sicheren Karte direkt auf den Eingang des Motorstarters. Es kommt immer wieder vor, das der Motor während er läuft kurz stoppt.
Vermutlich hängt das mit dem Dunkeltest zusammen. Da haben wir die max. Rücklesezeit schon in verschiedene Richtungen geändert, leider ohne Erfolg.
Kann mir jemand sagen, was ich falsch mache?
↧
December 13, 2017, 11:55 pm
Guten Morgen,
ich wollte mich etwas für unsere (Service)Zukunft rüsten, da ja immer mehr FW´s und Softwarestände in
Verkehr gebracht werden. Mir stellt sich die Frage, wie stelle ich fest, ob eine Austauschbaugruppe kompatibel
ist, mit einem vorhandenen System.
Da kam ich auf das Kompatibilitäts-Tool für Automatisierungs- und Antriebstechnik von Siemens.
Zuerst dachte ich, das ist die Lösung für mein Problem doch irgendwie komme ich nicht damit zurecht.
Ich finde z.B. überhaupt keine CPU´s ( außer Software SPS´n ) und wenn ich z.B. wie in dem Screenshot ein TP900 Comfort anklicke,
wird sogar das ganze WinCC als nicht kompatibel ausgegraut???
Habe ich da was nicht verstanden. Mir geht es eigentlich darum. Kunde hat eine Baugruppe X mit Firmware 2.0 und eine CPU V2.0 . Ich habe eine Baugruppe X mit Firmware 3.1.
Ist dass so kompatibel oder muss ich runterrüsten oder kann ich überhaupt runterrüsten usw. Da die Vielfalt immer höher wird, wäre ein solches Tool schon sinnvoll.
https://support.industry.siemens.com...dti=0&lc=de-DE
x.jpg
↧
December 14, 2017, 1:37 am
Hallo zusammen,
ich habe das Problem, dass die Drehzahl des Umrichters sporadisch plötzlich hoch geht. Ich habe einen älteren 37KW Motor in Dreieck 400V 50Hz 70A dran. Keine Drehzahlgeber oder sonstiges.
Ich treibe damit ein Sägegatter an. Ich fahre normalerweise zwischen 40 und 50 Hz. Ich steuere über den Analogeingang die Sollfrequenz. Ich habe keinen Bremswiderstand.
Neuerdings geht die Drehzahl plötzlich sehr schnell hoch- auf über 80Hz. Wahrscheinlich würde diese noch weiter steigen, aber vorher nehme ich ihm die Netzspannung-bevor der Gatter Schaden nimmt.
Der Analog Sollwert ist laut Movitools unverändert. Was mir noch auffällt, ist dass der Motor manchmal bei Belastung ein Brummgeräusch macht. Wenn man das Geräusch hört, dann passiert es meistens, dass im Anschluß die Drehzahl für den Gatter gefährlich hochgeht. Der Umrichter reagiert in dem Fall auch nicht auf Veränderungen des Sollwerts am Analogeingang.
Hat irgendjemand eine Idee was ich machen könnte?
MfG
seppv20
↧
↧
December 14, 2017, 2:26 am
Hallo Zusammen,
Was ist denn gerade die aktuelle TIA V14 Version? Will wissen ob mein Laptop auf dem neustem Stand ist ;)
↧
December 14, 2017, 2:38 am
Mahlzeit,
ich hoffe ich hab hier das richtige Unterforum erwischt :???:
ich benutze eine S1200 und versuche IO-Link parameter über ein HMI zugänglich zu machen.
Die Programmierung ist in KOP.
Ein Wert (von einem IO-Link Device) wird in einem Array als Hex-zahl gespeichert.
Wenn der Wert mehr als ein Byte benötigt wird dieser aufgeteilt - und zwar würde zb ein Hexadezimal wert 0154 wie folgt aufgeteilt werden :
Index 1 enthält : 01 // Index 2 enthält 54 ( Siehe Bild - was ich als startwert eingetragen habe wäre ggf. beobachtungswert)
Zunächst mal müsste ich um den wert auf einem HMI darstellen zu können die Zahlen wieder zusammen fügen, in eine Dezimalzahl umwandeln und in ein MD speichern. (?)
Zum Schreiben eines Parameter müsste ich eine Dezimalzahl (niemand würde eine hex zahl eintragen wollen) in eine Hex verwandeln, entsprechend aufteilen und in die jeweiligen Bytes des Arrays schreiben.
Hat jemand eine Idee oder einen Denkanstoß wie sich das umsetzen liesse?
↧
December 14, 2017, 5:42 am
Hallo,
ich nutze Codesys V33.5.9.x.
Ich würde gerne wie man es aus Hochsprachen gewohnt ist aus einem Baustein (Klasse) heraus ein Event senden.
Ich habe hierzu dem Baustein ein Interface als Eingang spendiert.
Diesem weise ich eine Instanz eines anderen Bausteins zu, in welcher dann die entsprechende Interfacemethode quasi das "Event" ausführt.
Nun habe ich 2 Fragen / Wünsche.
1. Das Interface hat 4 Methoden (4 Events).
Nicht jeder Baustein hat jedes Event. Benötige ich also mehrere Interface? Oder muss ich diese Kaskadieren?
2. Bspw. in C# kann ich ja jedem Event mehrere Methoden zuweisen, welche dann aufgerufen werden.
Geht so etwas auch irgendwie, oder müsste ich es mir selbst bauen? Bspw. durch ein Array von Interfaces?
Danke für euren Rat.
↧
December 14, 2017, 9:53 am
Hallo Leute,
hat jemand von Euch ein Beispielprogramm in TIA-Portal, in dem deutlich wird wie man Signale zum Starten des Roboters über Profinet überträgt? Es ist eine KRC4 Robotersteuerung und eine S7-300 CPU 315F-2PN/DP.
Wir wollen den Roboter über ein HMI und von außerhalb der Schutzzelle starten.
Vielen Dank,
AD
↧
↧
December 14, 2017, 10:57 am
Erst mal Hallo.
Ich hoffe, dass ich hier nicht zu falsch bin, allerdings haben hier auch andere Verbindungsprobleme.
Ich habe einiges an Hardware und versuche nun das ganze zum Laufen zu bekommen.
Zuerst mal mein Problem (kurzfassung):
Ich bekomme mit WinSPS keine Verbindung zum MPI Adapter und demnach auch nicht zur S7.
Damit ihr einige Infos habt, was es an Lösungen geben könnte gebe ich nun mal eine Liste an Hardware an, die ich habe. (Mit genauen Bezeichnungen kann man immer mehr anfangen)
MPI Adapter:
Helmholz RK 512 (7-459-95-040-4)
RS232 Kabel:
Siemens 6ES7901-1BF00-0XA0
CPU:
6ES7 314-1AE01-0AB0
(Der CPU lässt sich auf RUN schalten und bleibt auch Grün. demnach scheint dieser wohl zu funktionieren)
DI:
6ES7 321-1BL00-0AA0 (32 Eingänge)
DO:
6ES7 322-1BH00-0AA0 (16 Ausgänge)
ET200:
6ES7 153-2BB00-0XB0
6ES7 153-1AA02-0XB0
6GK7 342-5DA01-0XE0 (sieht wie eine CPU aus)
6ES7 361-3CA01-0AA0
Betrieben wird alles von einem 24V 4A Netzteil.
Mein bisheriges Vorgehen:
Demo von WinSPS heruntergeladen (V6.04)
MPI Adapter mit dem RS232 Kabel mit dem Computer verbunden (Kein Adapter. Nativer COM1 am Computer vorhanden)
MPI Stecker mit dem S7 CPU verbunden.
Adapter LED für Power leuchtet, allerdings nicht die anderen für Active und connected.
unter WinSPS als ziel RS232 eingestellt und alle möglichen Baudraten durchgetestet (immer keine Verbindung). Dabei regt sich auch am Adapter nichts.
Danach habe ich die SHTools software (v3.89) heruntergeladen und versucht damit den Adapter zu testen.
Nachdem ich dort den Adapter eingestellt habe konnte ich die Parameter aus dem Adapter lesen (und auch ändern).
Auch danach hat sich bei WinSPS nichts getan.
Meine Frage ist nun, was ich brauche damit der Mist endlich mal funktioniert.
Das ganze liegt jetzt einen Monat bei mir rum, weil immer wieder etwas fehlt oder nicht geht.
Bei allen Tests war nur die DI Karte an der CPU. die anderen Karten stapeln sich daneben.
Würde einer dieser MPI/LAN Adapter mit der Software und der CPU funktionieren?
oder gibt es eine Lösung unter 100 Euro, die die S7 irgendwie an den PC bekommt?
Ich entschuldige mich jetzt schon mal für diese ganzen Probleme, aber nach unzähligen Stunden und einigen Euros ist das Projekt kein Stück weiter und ich bin von den Nerven her bald am Ende.
↧
December 14, 2017, 2:01 pm
Hallo zusammen,
kann man beim KTP700 Basic (6AV2 123-2GB03-0AX0) ein Kreis, oder Rechteck sichtbar/unsichtbar machen mit einer Bit Variable?
Ich möchte ein Merker in der S7/1212 ein/aus achalten und das im Panel anzeigen. Aber irgendwie nimmt das Panel keie Bitvariable an.
Fehlermeldung am HMI Eingabefeld "ungültiger interner Datentyp"
Geht das überhaupt? Danke
↧
December 14, 2017, 9:47 pm
Hallo Leute,
ich muss eine neue Anlage mit TIA ET200SP über
DP-Koppler einen Signalaustausch mit einer alten
Anlage mit S7-300 herstellen.
Ich hbae den DP-Koppler im TIA-Projekt mit 16 Eingangsbyte
und 16 Ausgangsbyte eingefügt,kann aber die Adresse nicht vergeben.
Die Zelle für die Eingabe der EA-Adresse deaktiviert,
eine Eingabe ist nicht möglich.
Kann mir vielleicht jemand einen kleinen Tipp geben,
wo oder wie ich die Adresse des EA-Bereichs eingeben kann.
Danke für eure Hilfe.
Vbxler
↧
December 15, 2017, 12:48 am
Hallo TIA Experten
Ich habe hoffentlich nur ein Verständnisproblem mit der TIA Programmierung.
Wir setzen mittlerweile immer mehr die 1500er Steuerungen ein. Daher bin ich dabei, langsam die altbekannten Bausteine aus der 300/400 anzupassen. Als Programmiersprache nutze ich AWL oder SCL. In der 1500 soll man ja nur noch Symbolisch programmieren, was ich an und für sich gar nicht so schlecht finde, bei CoDeSys geht es ja auch. Aber jetzt kommt das Problem, Ich habe bei der 300/400 oft mit indirekter Adressierung sowie ANY-Pointern usw. gearbeitet. Das beißt sich aber mit der symbolischen Programmierung. Zumindest habe ich nichts Passendes darüber gefunden.
z.B. habe ich bisher oft den SFC20 (BLKMOV) benutzt. In der 1500 mit den optimierten Bausteinen geht das natürlich nicht mehr, da ja keine Adressen mehr bekannt sind. Habe jetzt mit MOVE und MOVE_BLK_VARIANT experimentiert, es scheitert aber daran, dass ich einen VARIANT-Zeiger anscheinend nicht manipulieren kann. Erst dachte ich eine CASE-Anweisung und VARIANT_PUT wären die Lösung, allerdings erhalte ich immer dann eine Meldung Zugriff durch nicht initialisierten Pointer. Auch mein Versuch über den Umweg aus der CONCAT Anweisung und String-Zeichenketten etwas zu basteln ist kläglich gescheitert.
Meine Frage(n):
Wie kann ich einen VARIANT-Zeiger zur Laufzeit manipulieren,
Wie kann ich indirekt auf eine symbolische Variable zugreifen? z.B. statt U Motor01. Betrieb -> U Motor[DB_Index]. Betrieb
Natürlich kann man die Optimierung ausschalten und auch weiterhin mit absoluten Adressen arbeiten, aber das soll man ja nicht mehr, schon aus Performancegründen und vor allem wo ist dann die Verbesserung, wenn so grundlegende Sachen nicht mehr gehen?
Danke für eure Infos
↧
↧
December 15, 2017, 2:15 am
Hallo zusammen,
Bei bearbeiten einer Grafik in TIA wird standardmäßig Paint geöffnet. Kann man es ändern und zum Beispiel Inkscape oder Paint.net benutzen?
Oder kennt jemand eine Möglichkeit TIA Grafiken ohne die Transparenz zu verlieren zu bearbeiten?
Viele Grüße
Pikador
↧
December 15, 2017, 2:29 am
Hallo,
ich habe im Netz vor einiger Zeit ein Script gefunden womit ich die WinCC Alarme (Störungen) als CSV Datei Exportieren konnte, diese habe ich dann etwas abgeändert damit sie
meinen wünschen entsprechen.
Das Scrip lief bis jetzt immer auf dem Server und wurde manuell ausgelöst (eine Porjektbild in WinCC).
Jetzt ist der Server nicht mehr ohne weiteres bedienbar und ich wollte das automatisieren, jede Nacht sollen die Alarme exportiert werden.
Also habe ich den Code in "Global Script"/"VBS-Editor"-Aktionen eingefügt.
Als trigger habe ich einen Merker der von der SPS kommt benutz, später soll das durch die Uhrzeit getriggert werden.
Aber irgendwie will das nicht klappen, das Script wird nicht ausgelöst oder es ist im Script ein fehler vorhanden der aber nicht angezeigt wird.
Da meine erfahrungen mit VBS nur sehr begrenzt sind wollte ich euch fragen ob ihr eine idee habt wieso das Script keine Datei exportiert.
Code:
Option ExplicitFunction action
HMIRuntime.Tags("alarmexport_start").Write Right("000" & Year(Now),4) & "-" & Right("000" & Month(Now),2) & "-" & Right("000" & Day(DateAdd("d",-1,Now)) ,2) & " 05:00:00"
HMIRuntime.Tags("alarmexport_end").Write Right("000" & Year(Now),4) & "-" & Right("000" & Month(Now),2) & "-" & Right("000" & Day(DateAdd("d",-1,Now)) ,2) & " 23:59:59"
HMIRuntime.Tags("alarmexport_filter_bereich").Write ""
HMIRuntime.Tags("alarmexport_filter_herkunft").Write ""
HMIRuntime.Tags("alarmexport_filter_meldetext").Write ""
' ####################################################
'
' WinCC-Alarm-Archiv exportieren
'
' mit Sommer-/Winterzeitumrechnung Deutschland
'
' ####################################################
Dim objConnection
Dim strConnectionString
Dim lngValue
Dim strSQL, strSQL1
Dim objCommand
Dim n, z, s
Dim antwort
' Zeiten Archivausschnitt Online-Trend
Dim btag, bmnt, bjhr, bstd, bmin, bsek, startzeit ' Begin-Zeit
Dim etag, emnt, ejhr, estd, emin, esek, endzeit ' End-Zeit
Dim tag, mnt, jhr, std,min, sek
Dim obj_cn, obj_rs, obj_com, sql_query
Dim csvname, obj_fso, obj_stream
Dim col_number, record_count
Set obj_cn = CreateObject("ADODB.Connection")
obj_cn.connectionstring="Provider=WinCCOLEDBProvider.1;Catalog=" & HMIRuntime.Tags("@DatasourceNameRT").Read & "; Data Source=.\WinCC"
obj_cn.CursorLocation = 3
obj_cn.Open
' Startzeit Exportzeitraum
startzeit = ScreenItems("EAstart").OutputValue
btag = Day(startzeit)
bmnt = Month(startzeit)
bjhr = Year(startzeit)
bstd = Hour(startzeit)
bmin = Minute(startzeit)
bsek = Second(startzeit)
If bmin < 10 Then bmin= "0" & bmin
If bsek < 10 Then bsek= "0" & bsek
' Endzeit Exportzeitraum
endzeit = ScreenItems("EAend").OutputValue
etag = Day(endzeit)
emnt = Month(endzeit)
ejhr = Year(endzeit)
estd = Hour(endzeit)
emin = Minute(endzeit)
esek = Second(endzeit)
If emin < 10 Then emin= "0" & emin
If esek < 10 Then esek= "0" & esek
Dim strJahr, strSommer, strWinter, umrechnung
Dim i
strJahr=ejhr
umrechnung = 0
For i = 31 To 20 Step -1
' Datum Umstellung auf Sommerzeit
If Left(WeekdayName(Weekday(i & ".3." & strJahr)), 2) = "So" Then
strSommer = DateValue(FormatDateTime((i & ".3." & strJahr), vbShortDate))
Exit For
End If
Next
For i = 31 To 20 Step -1
' Datum Umstellung auf Winterzeit
If Left(WeekdayName(Weekday(i & ".10." & strJahr)), 2) = "So" Then
strWinter = DateValue(FormatDateTime((i & ".10." & strJahr), vbShortDate))
Exit For
End If
Next
' Bestimmung Sommer- oder Winterzeit
Dim datum
datum = DateValue(FormatDateTime((etag & "." & emnt & "." & ejhr),vbShortDate))
' Umrechnungsfaktoren für UTC -> MEZ bzw. MESZ
If (datum >= strSommer) And (datum < strWinter) Then umrechnung = 2
If (datum < strSommer) Or (datum >= strWinter) Then umrechnung = 1
' Start-/Endzeit auf MEZ/MESZ umrechnen
Dim start, ende
startzeit = bjhr & "-" & bmnt & "-" & btag & " " & bstd & ":" & bmin & ":" & bsek
startzeit = DateAdd("h",-umrechnung,startzeit)
startzeit = Year(startzeit) & "-" & Right("000" & Month(startzeit),2) & "-" & Right("000" & Day(startzeit),2) & " " & Right("000" & Hour(startzeit),2) & ":" & Right("000" & Minute(startzeit),2) & ":" & Right("000" & Second(startzeit),2)
start = bjhr & "-" & bmnt & "-" & btag & " " & bstd & ":" & bmin & ":" & bsek
start = Replace(start,":","_")
endzeit = ejhr & "-" & emnt & "-" & etag & " " & estd & ":" & emin & ":" & esek
endzeit = DateAdd("h",-umrechnung,endzeit)
endzeit = Year(endzeit) & "-" & Right("000" & Month(endzeit),2) & "-" & Right("000" & Day(endzeit),2) & " " & Right("000" & Hour(endzeit),2) & ":" & Right("000" & Minute(endzeit),2) & ":" & Right("000" & Second(endzeit),2)
ende = ejhr & "-" & emnt & "-" & etag & " " & estd & ":" & emin & ":" & esek
ende = Replace(ende,":","_")
Dim oRs
Dim zeit1
' SQL-String
sql_query = "ALARMVIEW:SELECT * FROM ALGVIEWDEU WHERE (DateTime >= '" & startzeit & "') AND (DateTime <= '" & endzeit &"')"
Set obj_rs = CreateObject("ADODB.Recordset")
Set obj_com = CreateObject("ADODB.Command")
obj_com.CommandType = 1
Set obj_com.ActiveConnection = obj_cn
obj_com.CommandText = sql_query
Set obj_rs = obj_com.Execute
record_count = obj_rs.Fields.Count
' CSV-Datei erstellen
csvname = HMIRuntime.ActiveProject.Path & "\Auswertung\" & "Störungshistory_" & Right("000" & Year(Now),4) & "_" & Right("000" & Month(Now),2) & "_" & Right("000" & Day(DateAdd("d",-1,Now)) ,2) & ".csv" '"-" & Right("000" & Hour(Now),2) & "_" & Right("000" & Minute(Now),2) & "_" & Right("000" & Second(Now),2) & "_" & start & "-" & ende & ".csv"
Set obj_fso = CreateObject("Scripting.FileSystemObject")
Set obj_stream = obj_fso.OpenTextFile(csvname, 2, True)
' Spaltenüberschriften schreiben
For col_number = 0 To obj_rs.Fields.Count-1
If col_number = 0 Then
obj_stream.Write obj_rs.Fields(col_number).name
Else
obj_stream.Write ";" & obj_rs.Fields(col_number).name
End If
Next
obj_stream.Write vbCrLf
Dim herkunft, meldetext, bereich
' Datensatz schreiben
If (record_count > 0) Then
obj_rs.movefirst
While Not obj_rs.Eof
herkunft = ucase(Trim(HMIRuntime.Tags("alarmexport_filter_herkunft").Read))
bereich = ucase(Trim(HMIRuntime.Tags("alarmexport_filter_bereich").Read))
meldetext = ucase(Trim(HMIRuntime.Tags("alarmexport_filter_meldetext").Read))
If ( (herkunft = "") Or (InStr(1, ucase(obj_rs.Fields(37).value), herkunft, 0) <> 0) ) And ( (bereich = "") Or (InStr(1, ucase(obj_rs.Fields(38).value), bereich, 0) <> 0) ) And ( (meldetext = "") Or (InStr(1, ucase(obj_rs.Fields(39).value), meldetext, 0) <> 0) ) Then
' Zeit auf MEZ/MESZ umrechnen und in Spalte A einsetzen
zeit1= DateAdd("h",+umrechnung,obj_rs.Fields(2).value)
jhr = Year(zeit1)
mnt = Month(zeit1)
If mnt < 10 Then mnt = "0" & mnt
tag = Day(zeit1)
If tag < 10 Then tag = "0" & tag
std = Hour(zeit1)
If std < 10 Then std = "0" & std
min = Minute(zeit1)
If min < 10 Then min = "0" & min
sek = Second(zeit1)
If sek < 10 Then sek = "0" & sek
zeit1= tag & "." & mnt & "." & jhr & " " & std & ":" & min & ":" & sek
' Ausgabe in Datei
For col_number = 0 To obj_rs.Fields.Count-1
If col_number = 0 Then
obj_stream.Write obj_rs.Fields(col_number).value
Elseif col_number = 2 Then
obj_stream.Write ";" & zeit1
Else
obj_stream.Write ";" & obj_rs.Fields(col_number).value
End If
Next
obj_stream.Write vbCrLf
End If
obj_rs.movenext
Wend
obj_rs.close
End If
Set obj_rs = Nothing
Set obj_cn = Nothing
Set obj_fso = Nothing
End Function
↧
December 15, 2017, 5:57 am
Hallo an alle,
ich habe eine allgemeine zu RFID. Ich habe des Öfteren gesehen, dass die Datenbausteine für Lese-/Schreibdaten den Datentyp BYTE besitzen.Bsp.: SendeDaten Array[0..254] of BYTE).
Kann man stattdessen auch den Datentyp INT verwenden (SendeDaten Array[0..254] of Int??
Viele Grüße und ein schönes Wochenende
anilo14
↧