INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Treiber für Beckhoff Buskoppler BK9000



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

14.08.2008, 14:25
Beitrag #21

OnlyOne Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Jul 2008

8.5
-
EN

71034
Deutschland
Treiber für Beckhoff Buskoppler BK9000
' schrieb:Ich habe mal versucht Registerzugriffe zu machen aber das war für die Applikation die ich hatte nicht nötig und mangels Zeit habe ich keine weiteren Versuche gemacht. IndexGroup 0 ist im IO Bereich (AMS Port 300 tatsächlich nicht verfügbar) aber mit Port 100 sollte das schon gehen gemäss Doku. IndexGroup 1-64 ist dann jeweils für die Konfigurationsregister der einzelnen IO Klemmenmodule, aber was man da lesen bzw. schrieben kann habe ich noch nicht gefunden. Vielleicht steht das ja in der Doku zu der jeweiligen Klemme.

Den Port stellst Du bei den ADS VIs beim Parameter Port in den SubVIs ADS Read Packet.vi und ADS Write Packet.vi ein. Dieser ist zurzeit in ADS Read Bytes.vi und ADS Write Bytes.vi noch nicht nach aussen geführt.

Was die Leute von Beckhoff erzählen ist nicht immer die volle Wahrheit. Die meisten da wissen auch nicht alles was mit ihren Produkten kann.

Rolf Kalbermatter

so...ich habe mal das SubVi Write_Bytes.vi um den Port erweitert. Nun kann ich die Ports bei schreiben mit angeben. IndexGroup und IndexOffset hat er wohl geschluckt. Aber nun kommt die Fehlernummer 1796 zurück (Reading/Writing not permitted).
Aber da ist noch ein kleines Problem. Wie kann ich unter data denn werte größer 255 angeben? Muss man die dann in 8bit Werte zerlegen? Aber auch bei einem Wert von nur 100 kommt der gleiche Fehler.
Könnte Beckhoff mit einer neuen Firmware Version das Schreiben unterbunden haben?

Gruß

O.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.08.2008, 15:46
Beitrag #22

OnlyOne Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Jul 2008

8.5
-
EN

71034
Deutschland
Treiber für Beckhoff Buskoppler BK9000
Noch eine Merkwürdigkeit

Bei IndexOffset 0 bekomme ich die Daten von Table 0. Doch wenn ich IndexOffset auf 0xFF stelle und über Table 0 hinaus Daten einlese, kommen plötzlich die Daten von Table 100!
Jeder IndexOffset größer 0xFF kommt wieder bei Table 0 raus, als ob der IndexOffset irgendwo auf 8bit begrenzt würde.
Habe auch schon den Programmcode durchforstet. Aber überall ist die Variable 32bit groß. Hast du eine Idee für dieses Merkwürdige Verhalten?

Gruß

O.


Angehängte Datei(en) Thumbnail(s)
               
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2008, 08:57 (Dieser Beitrag wurde zuletzt bearbeitet: 15.08.2008 09:01 von rolfk.)
Beitrag #23

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Treiber für Beckhoff Buskoppler BK9000
' schrieb:Noch eine Merkwürdigkeit

Bei IndexOffset 0 bekomme ich die Daten von Table 0. Doch wenn ich IndexOffset auf 0xFF stelle und über Table 0 hinaus Daten einlese, kommen plötzlich die Daten von Table 100!
Jeder IndexOffset größer 0xFF kommt wieder bei Table 0 raus, als ob der IndexOffset irgendwo auf 8bit begrenzt würde.
Habe auch schon den Programmcode durchforstet. Aber überall ist die Variable 32bit groß. Hast du eine Idee für dieses Merkwürdige Verhalten?

Gruß

O.

Also wie das genau geht kann ich leider auch nicht erraten und testen geht nicht da ich schon lange keine Hardware mehr hier habe. Aber die Daten sehen ja an sich vielversprechend aus. Du hast einen Offset von 0xFA und liest dann anscheinend 12 Bytes bevor die Daten der Tabelle 100 erscheinen. 0xFA ist -6 und die Register sind 2 Bytes was dann denn Offset von 12 Bytes erklären würde.

Warum die Daten der Tabelle 100 direkt denen der Tabelle 0 folgen ist mir auch nicht deutlich aber wird wohl ein internes Mapping im Controller sein.
Der IndexOffset ist wahrscheinlich tatsächlich auf 8 Bytes in den unteren 16 Bytes bechränkt da eine Tabelle wahrscheinlich nicht mehr dann 256 Register haben kann. ABER: gemäss Doku des BK9000/9100 sollte in den oberen 16 Bytes die Tabellennummer codiert sein. Deshalb die von mir vorgeschlagenen 0x64000E um das Watchdogregister anzusprechen, respektive 0x640000 in deinem Beispiel um einen Teil oder die ganze Tabelle zu lesen.

Das die Variable 32 bit gross ist hat einfach mit der Definition des ADS Protokolls zu tun. Dort werden halt nun mal 32 Bit Werte verwendet und ich sah keinen Grund um dies in den höher gelegenen VIs künstlich zu beschränken. Für den IO Bereich hat dies keine Bedeutung da dort der Offset linear ist aber für die Register wird eben die Tabellennummer und der Registeroffset zusammen in das 32Bit Word codiert.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2008, 09:25 (Dieser Beitrag wurde zuletzt bearbeitet: 15.08.2008 09:28 von OnlyOne.)
Beitrag #24

OnlyOne Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Jul 2008

8.5
-
EN

71034
Deutschland
Treiber für Beckhoff Buskoppler BK9000
Morgen

Ich habe es jetzt heute morgen nochmal getestet. Frag mich nicht warum, aber heute kann ich mittels 0x640000 auf die Table 100 lesend zugreifen. Schreiben geht leider immer noch nicht. Kommt Fehler 1796. Ich durchwühle heute nochmal die ganzen ADS Dokus. Vielleicht finde ich einen Hinweis, warum ich nicht in das Register schreiben kann.

Gruß

O.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2008, 10:23
Beitrag #25

OnlyOne Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Jul 2008

8.5
-
EN

71034
Deutschland
Treiber für Beckhoff Buskoppler BK9000
Hallo

Habe noch etwas gefunden. Laut Handbuch BK9000 wird ein Passwort beim Schreiben gesetzt. In TwinCat finde ich aber nicht bzgl. eines Passworts. Muss man das schreiben auf die Register erst freischalten?

Gruß

O.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2008, 11:08
Beitrag #26

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Treiber für Beckhoff Buskoppler BK9000
' schrieb:Hallo

Habe noch etwas gefunden. Laut Handbuch BK9000 wird ein Passwort beim Schreiben gesetzt. In TwinCat finde ich aber nicht bzgl. eines Passworts. Muss man das schreiben auf die Register erst freischalten?

Gruß

O.

Das mit dem Passwort habe ich auch gelesen aber mir ist das absolut undeutlich wie das gehen sollte. In der mir zur Verfügung stehenden Doku zum ADS Protokoll und zu den Buskopplern kann ich darüber weiter nichts finden.

Noch etwas: In der Dokumentation zu den BX9000 un BC9000 ist der IndexOffset zur Registertabelle 100 als read only angegeben. Nur im BK9000 Manual steht das nicht drin. Kann sein dass das eine Unterlassung in der Dokumentation ist oder verwendest Du ein BX oder BC Modul?

Kannst Du diese Parameter in der KS2000 Software ändern? Das sollte da zumindest für die BKs gehen. Und dann könnte man mal mit Wireshark schauen was die denn da so senden um das zu realisieren.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.08.2008, 12:01
Beitrag #27

OnlyOne Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Jul 2008

8.5
-
EN

71034
Deutschland
Treiber für Beckhoff Buskoppler BK9000
Also ich benutze schon das BK9000 Modul. Die KS200 Software habe ich leider nicht, da man dafür eine gültige Lizenz braucht. Alles was ich habe ich die TwinCat 30 Tage Testversion. Mit ihr kann ich die Werte in den Registern ändern. So konnte ich ja auch den Watchdog abschalten.
Das mit Wireshark geht ja leider nicht (s.o.). TwinCat benutzt nicht ADS um mit dem BK9000 Daten auszutauschen.

Gruß

O.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2008, 13:25
Beitrag #28

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Treiber für Beckhoff Buskoppler BK9000
' schrieb:Also ich benutze schon das BK9000 Modul. Die KS200 Software habe ich leider nicht, da man dafür eine gültige Lizenz braucht. Alles was ich habe ich die TwinCat 30 Tage Testversion. Mit ihr kann ich die Werte in den Registern ändern. So konnte ich ja auch den Watchdog abschalten.
Das mit Wireshark geht ja leider nicht (s.o.). TwinCat benutzt nicht ADS um mit dem BK9000 Daten auszutauschen.

Gruß

O.

Tat es glaube ich bei mir schon. Aber das war auch eine ältere Version die wir hier in der Firma noch von einem anderen Projekt übrig hatten. Und da war auch eine gültige Lizenz für die KS2000 bei. Oder war das jetzt die KS2000 die ich mit WireShark beobachtet habe. Weiss es wirklich nicht mehr sicher.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.12.2008, 14:26
Beitrag #29

siham Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 99
Registriert seit: Apr 2008

8.5
-
de

73728
Morocco
Treiber für Beckhoff Buskoppler BK9000
' schrieb:Es reicht die Modbus Library. Alle Beckhoff Koppler lassen sich auch ohne dieses Programm verwenden. Bei mir laufen zur Zeit 1 BK9000 und mehrere BK8100 direkt über LV gesteuert.

Alternativ könntest du auch noch die OcxAds.dll verwenden. Benötigt aber gewisse grundkenntnisse im Programmieren mit VB oder C#. Dazu gibt es genug Beispiele im Beckhoff Information System.

mfg blacky
Hallo Blacky,
ich habe auch ein BK9000 und ein KL1408 und KL2408, kannst du bitte ein Beispiel mit Modbus anhängen.
danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.12.2008, 09:05
Beitrag #30

siham Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 99
Registriert seit: Apr 2008

8.5
-
de

73728
Morocco
Treiber für Beckhoff Buskoppler BK9000
' schrieb:Hallo
Ich arbeite auch mit Beckhoff SPSn, du kannst TwinCAT ADS oder Modbus TCP verwenden um mit deiner SPS zu kommunizieren.
ADS gibs als API für Activex, als Dll, als .net lib, oder du verwendest den OPC Server von Beckhoff, der auch ADS verwendet. such mal in den Hilfefiles (.chm) nach "TcAdsOcx.chm" ,"TcAdsNet.chm"
Am einfachsten ist natürlich ein OPC Server, falls du diesen nicht hast schlage ich dir .net. oder activex vor.
Bei Modbus wirds ein bisschen schwieriger, da must du das Modbus TCP Protokoll selbst mit LabVIEW Nachbilden, oder du kaufst dir eine MosbusTCP API. hier gibs die Protokoll beschreibung "www.modbus.org"
mfg Mario
hallo mario,
hast du bitte ein Beispiel mot Activex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Beckhoff LabVIEW Runtime Steve82 3 8.311 27.04.2012 13:49
Letzter Beitrag: Steve82
  Modbus Beckhoff Steve82 2 5.899 07.03.2012 22:53
Letzter Beitrag: Steve82
  BK9000 über Modbus TCP unter LabVIEW 8.6 utechle 4 10.130 28.01.2009 22:56
Letzter Beitrag: siham
  Beckhoff BC9000 blacky 3 8.531 25.01.2008 11:59
Letzter Beitrag: rolfk

Gehe zu: