2015-03-04 3 views
1

Je suis en charge d'un projet où nous devons collecter des données (11 tags) à partir d'un automate et les écrire dans une base de données SQL par incrément de 5 ms. Il s'agit du premier projet nécessitant un taux d'échantillonnage aussi élevé, et nous ne collectons qu'environ 5 à 10% des données avec notre configuration habituelle (API Rockwell Allen-Bradley CompactLogix -> Kepware KEPserver -> VB). Application de bureau NET -> MS SQL). J'ai cherché sur Internet et trouvé des produits tiers (SQL4automation, plugin Kepware DataLogger, RSLinx, Ignition) qui promettent un transfert de données sans perte d'un automate directement vers une base de données, mais ils sont tous très coûteux.Perte de données de PLC à SQL Server

Est-ce que quelqu'un a trouvé une solution (idéalement libre) à un problème similaire? Nous réécrivons actuellement nos applications API et de bureau pour écrire les données dans deux tableaux séparés et les copier alternativement - quelqu'un a-t-il eu du succès avec cette méthode?

Si non - une expérience avec un logiciel tiers?

Merci pour l'aide, Dugi

+0

5ms est un taux très élevé compte tenu de tous les retards impliqués ... Je pense vraiment avoir un tampon de données sur la mémoire de l'automate dans de tels cas est la norme. Le tampon devrait même contenir plus que seulement 2 "instantanés" des étiquettes IMO. – matpop

Répondre

0

J'ai enregistré des taux de vote jusqu'à 10ms de PC et Siemens PLC standard sans aucune configuration spéciale pour augmenter les performances (tampons sur plc, ...)

Jetez un oeil à: Snap7 - Step7 Ethernet Communication Suite

+0

Merci P.A., la solution que vous avez proposée semble prometteuse pour les contrôleurs Siemens et pourrait s'avérer utile à l'avenir. Cependant, nous avons choisi un PLC Rockwell (Allen Bradley) pour ce projet. – Dugi

0

Wonderware Historian vous donnerait la résolution. Les pilotes peuvent réellement enregistrer des données et déclencher des modifications. Les données sont également compressées automatiquement. Avec Historian, vous pouvez ensuite interroger la base de données SQL par incréments de 5 ms et récupérer des données réelles et valides. Cependant, l'historien est tout sauf libre. En d'autres termes, je stockerais toutes les données dans l'automate. Par exemple, une seconde entière à des intervalles de 5 ms. Transférez ensuite cette information sur SQL toutes les secondes.