AdAstra

MrPLC Member
  • Content count

    6
  • Joined

  • Last visited

Everything posted by AdAstra

  1. Good morning,   I want to connect my Micro820 to a load cell, read its value and then send it to a printer so I can have a generate a label with the product's weight.   I'm open about the printer model but I really don't know where to start and couldn't find any good articles about  it. Does anybody know where I could find some more information about the subject or even program examples? Thank you  
  2. Hi,  I'm trying to test the serial communications with my Micro820. I acquired a 2080-SERIALISOL so I could have "someone" to talk to. I want to use RS485, so I figured that I'd have to connect: Modbus pin 1 (D+) to serialisol pin A1 (+485) Modbus pin 2 (D-) to serialisol pin B4 (-485) Modbus pin 3 (GND) to serialisol pin A2 (GND) Now when it comes to CCW, the thing gets a little harder. I know I need to use the MSG_MODBUS block (in fact I need 2, one for the modbus and another one for the serialisol), and I guess I specify the interface I'm using on the TargetCfg field (data type MODBUSTARPARA). But how do I figure out that the Addr (UDINT) and Node (USINT) values are for my Modbus and Serialisol? Or am I doing it wrong? Does anybody know of any place where I can get some more guidance or even a funcional ladder program? Thank you in advance
  3. Hi Damica,

      Just like you, I bought a 2080 Serialisol to play with my AB Micro820, and any help getting started with it would be great.

      Would you be available to share experiences and know how? So far I've been working mostly with socket communications... 

     

  4. Converting UINT to DINT

    Great. Thank you very much, Joe
  5. Good afternoon,   I need to convert a UINT (16-bit unsigned integer) to a DINT ( 32-bit signed integer).   Apparently we can't directly assign a UINT variable's value to a DINT's or vice versa. I also couldn't find a way of casting UINT as DINT.   The reason why I need to do it is because I'm receiving data from a socket. The RXLength is a UINT but in order to scroll through  the data array (USINT[1..1])  I need to use a DINT as the array's index, but I can't compare the array index to the array's length because they are incompatible types.   Is there a cast statement similar to:       myDINTvar := (DINT) myUINTvar;   I also tried the following but it didn't work:       myDINTvar :=  (myUINTvar * 1);   Any help will be deeply appreciated.   
  6. Converting UINT to DINT

    Awesome! It's exactly what I was looking for. By the way, you wouldn't happen to know how I could use that instruction from within a Structured Text Block? I only know how to use it in a Ladder diagram. Thank you for all your help!
  7. Converting UINT to DINT

    Thank you for your reply. The SOCKET_READ instruction block returns a USINT array with the message received (data parameter), as well as a UINT (RxAddr parameter) with the size of this message. I have to set up a loop to read the message content character by character, and to do that I have  to access each individual item in the array. Unfortunately the array indexes are DINT, therefore the variable used to address each array position needs to be DINT. In order to compare the indexer variable to the upper bound of the array I have to compare a DINT with a UINT, which apparently is not possible. Unfortunately, the MOV instruction block is also picky about data types, so it didn't work  Error    1    myDINTvar: Expecting a UINT/WORD type variable