Vai al contenuto
PLC Forum


Comunicazione Via Socket-istruzione Msg In Rslogix 5000


Messaggi consigliati

Inserito:

salve

sto cercando di comunicare via socket col plc, attraverso la scheda eweb. Uso rslogix 5000 vers.17

nel manuale dice che bisogna usare l'istruzione MSG e impostare il servizio createsocket. Il problema è che nel menu a tendina vedo tutti i servizi riguardanti la comunicazione socket (write socket, delete socket, readsocket ecc), ma createsocket non c'è!!

socket.JPG

perchè non lo vedo?? cosa sbaglio?


Inserita:

nel manuale dicono createsocket...invece è socket create... :angry: facciamo finta di non aver perso due ore per niente. comunque Ci sarebbe un altro problema:

sempre nell'impostazione dell'istruzione MSG, mi viene detto di creare un user-defined data type, così:

socket2.JPG

la domanda è: come si fa a creare una struttura di quel tipo? se vado su Data Type --> New Data TYpe, il tipo di dato che dice in figura ("SockAddr") non esiste, e se ne creo uno io e lo chiamo così, rslogix dice che non è un data type valido, e non mi fa creare la struttura...come si fa??

Inserita:

Quante faccine tristi ( :angry: ) .

UDT chiamato "CreateParams" è composto da un primo elemento

chiamato "Type" di tipo DINT (Data type size := 4 Bytes)

Poi c' è un altro elemento chiamato "addr"

Che è di tipo "SockAddr" cio significa che prima di creare il tuo UDT "CreateParams" devi prima creari

questo nuovo UDT.

Bene perciò prima crei UDT "SockAddr" che è

composto da tre elementi : (Data type size := 8 Bytes)

Family tipo INT

Port tipo INT

Addr tipo DINT.

Poi nel UDT "CreateParams"

oltre al primo Elemento "Type" di tipo DINT (Data type size := 4 Bytes)

aggiungi il secondo "addr" di tipo "SockAddr" (Data type size := 8 Bytes) (Quello che prima avevi creato).

Con questo UDT "CreateParams" crei una nuova Controller-Tag, chiamala "Socket_Test".

Bene ora nell' istruzione MSG usi questa Tag "Socket_Test", come "Source Element" (Source Length:= 12 Bytes)

Inserita:

questo è il file di import/export Data Type

in formato.L5X (che è un in realtà un formato di tipo XML) :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<!--Parameters for the create Service-->

<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="17.00" TargetName="CreateParams" TargetType="DataType" ContainsContext="true" Owner="BetyR" ExportDate="Thu Jun 04 17:10:57 2009" ExportOptions="References DecoratedData Context Dependencies AllProjDocTrans">

<Controller Use="Context" Name="msg">

<DataTypes Use="Context">

<DataType Name="SockAddr" Family="NoFamily" Class="User">

<Members>

<Member Name="Family" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false"/>

<Member Name="Port" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false"/>

<Member Name="Addr" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false"/>

</Members>

</DataType>

<DataType Use="Target" Name="CreateParams" Family="NoFamily" Class="User">

<Description>

<![CDATA[Parameters for the create Service]]>

</Description>

<Members>

<Member Name="Type" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false">

<Description>

<![CDATA[1 for TCP]]>

</Description>

</Member>

<Member Name="Addr" DataType="SockAddr" Dimension="0" Radix="NullType" Hidden="false"/>

</Members>

<Dependencies>

<Dependency Type="DataType" Name="SockAddr"/>

</Dependencies>

</DataType>

</DataTypes>

</Controller>

</RSLogix5000Content>

se crei questo File.L5X (con nome CreateParams.L5X)

con al suo interno questo sopra riportato.

Potrai poi importarlo direttamente nel tuo progetto RsLogix5000.

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...