Accueil > Forum > Programmation IEC 61131 (LogicLab) > Faire un simple convertisseur Ethernet / série
- Ce sujet a 3 réponses, 2 participants et a été mis à jour pour la dernière fois 8 années, 1 mois da maximum.
-
auteurPost
-
Juillet 24, 2013 à 1: pm 24 #35391Sergio BertanaAdministrateur du forum
Je reçois une demande d'un client pour créer à l'aide d'un module de processeur SlimLine un convertisseur Ethernet / série, voici donc un programme qui rend le convertisseur. Le cœur du programme est basé sur ces lignes de code.
IF (((SysGetIChars (Fp [0]) = IChars [0]) AND (IChars [0]> 0))) OR (IChars [0]> 192)) ALORS
RxChars [0]: = Sysfread (ADR (chaîne Rx), 1, IChars [0], Fp [0]); (* Caractères reçus *)
RxChars [0]: = Sysfwrite (ADR (RxString), 1, RxChars [0], Fp [1]); (* Caractères transmis *)
END_IF;IChars [0]: = SysGetIChars (FP [0]); (* Caractères d'entrée *)
En pratique, les caractères reçus par un flux sont contrôlés de manière cyclique et lorsqu'aucun caractère n'est reçu pour au moins une boucle de programme (en variante, une synchronisation peut être gérée) les caractères reçus par le flux sont envoyés sur l'autre.
Si le nombre de caractères reçus par un flux dépasse les 3/4 du tampon de support (192 octets), les caractères reçus par le flux sont envoyés sur l'autre.
Bien entendu, au moins 3 convertisseurs peuvent être créés dans le module CPU (un pour chacun des ports série disponibles), chaque convertisseur se verra attribuer un port TCP différent. Elle est là imprimer du programme et le programme source.
Décembre 10, 2013 à 9: 34 am #37920Sergio BertanaAdministrateur du forumCompte tenu d'autres demandes liées à ce sujet, j'ai développé le bloc fonctionnel DataStreamExch ce qui permet d'échanger des données entre deux flux d'E / S (Extrait manuel). En définissant une socket TCP comme un flux et un port série comme un autre flux, un convertisseur Ethernet / Série peut être facilement créé.
Je joins le imprimer e programme source d'utilisation d'un SlimLine en tant que convertisseur Ethernet / série.
Décembre 13, 2013 à 4: pm 36 #37926Sergio BertanaAdministrateur du forumSi vous souhaitez utiliser un logiciel VirtualCOM avec le programme décrit ci-dessus, vous pouvez utiliser le HW VSP3 - Port série virtuel du groupe HW, cette capture d'écran illustre l'utilisation d'un SlimLine avec le logiciel de virtualisation du port série Le logiciel Virtual Serial Port a été installé sur un PC avec Windows 7 en définissant le port COM3 sur l'adresse IP du SlimLine (192.168.0.162) sur le port 1000 tel que défini dans le programme. Un convertisseur USB / série est également installé sur le PC ATC-810 configuré comme COM8, son port série RS232 est connecté au port COM0 du SlimLineAvec Toolly, deux sessions de terminal ont été ouvertes, une connectée à COM3 et une à COM8, comme vous pouvez le voir, les données envoyées sur COM3 sont reçues par COM8 et vice versa Attention, sur le port COM3 virtuel il n'est pas possible de définir les paramètres de communication série, la valeur 9600, e, 8 est indicative car en réalité c'est SlimLine utilise les paramètres définis dans le programme avec le FB sur son port COM0 série SetSMode.
Mars 18, 2016 à 1: pm 20 #39468maximumModérateurJ'ai fait une version du programme pour un client EthToSerialConverter avec la nouvelle version de LogicLab (Capture d'écran), l'ensemble du programme est contenu dans un seul fichier échelle qui peut facilement être importé dans votre projet au cas où vous auriez besoin de gérer un convertisseur série / Ethernet (Télécharger le programme).
-
auteurPost
- Vous devez être connecté pour répondre à ce sujet.