Jump to content

s.pratt

Members
  • Posts

    350
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by s.pratt

  1. Thank you for the update!

     

    Yes, a faulty SD card would be the cause of delayed read and writes to the DT.  We can verify if the PLC recognizes the SD card and if there are any faults through the status integer in the DTI struct and through the system struct, 'External Storage'  and 'SD Files'.

     

    If you would like a further review, please send your program in to support@unitronics.com with the brand and capacity of the faulty SD Card used.  Also, if you can verify any faults with teh faulty SD card when trying to read or write to the DT, please let us know of these too.

  2. Hi Shane,

     

    How much memory space will the RTC to ASCII UDFB use up in the data table?  We are in the process of calculating how many lines of data we can store in a V120 for a given row structure, and one of the columns needs to be a "yyyy-mm-dd_HH-mm" type format (or perhaps two columns, one for date and one for time?).

     

    We also need to write a 10 character alpha numeric serial number in the data table, how much space should that use up in bytes?

     

    Thank you,

     

    Hello,

     

    The UDFB is a function block used in the ladder which does not take up space in the data table.  This function block is also only for the UniStream series, not Vision (the V120).

     

    For the ASCII strings in the data table, each character will use a byte.  Therefore, with the given format you have chosen, "yyyy-mm-dd_HH-mm", will use 16 bytes plus the null for the end of the string, so 17 bytes all together.  This includes the dashed and underscores. 

     

    The 10 character alphanumeric seial number will used 11 bytes including the null (1 char = 1 byte).

     

    Hope this helps.

  3. We have seen this issue before with some PCs.  Usually it is due to Windows only allowing 'signed drivers', whereas we are an unsigned driver.  If you go to your device manager, does the USB connection show under 'Ports'?

     

    Please note that you need to support unsigned USB drivers.
    Remove the USB driver and reboot your PC, then follow the instructions below.

     

    Step by step guide on how to unsigned drivers (USB) on Windows.

    Move your mouse courser to the upper right part on the screen
    Select settings ->Change PC settings->Updates and Recovery > Recovery > Under “Advanced Startup” > Restart now.

    Now the system will restart and might take some minutes to show up the boot menu.

    You will be prompted with a menu with following options.

    - Continue

    - Troubleshoot

    - Turn off

    Choose Troubleshoot

     

    Then the following menu appears.

    - Refresh your PC

    - Reset your PC

    - Advanced Options

    Choose Advanced Options

     

    Then the following menu appears

    - System Restore
    - System Image Recovery
    - Automatic Repair
    - Command Prompt
    - Windows Startup settings
    Choose Windows Startup Settings, then Click Restart.

     

    Now the computer will restart and the boot menu appears.
    Choose Disable Driver signature Enforcement from the menu by using your keyboard numbers.
    Windows will start and you can do the installation of the driver that is not signed.

     

    Also, please be sure you have the driver installed.

     

    Please let me know how this works for you.

  4. I was using the INT to Real element. hovering over the parameter letters doesn't give me a clue as to what it needs to be . The A I put as the input value that I want to convert. No idea what is in B or C. Help file is worthless. 
    Even with other things like the Formula element is basically worthless. I created basic formula A + B    it doesn't work either. Is there anything that actually works?
    

    I'm not sure I understand how to   "Then, take the modulous of the input over your scale (again, 100 in your case) to receive the remainder, or fractional, part of the REAL number and save this again into an INT register (we'll call this tag B )."

    For example if my input value was 3.92, the integer value of the input would be 392. divide by 100 to get the first part... 3    then?

     

     

    There is a function under the math tab call 'Modulous' (MOD).  This will divide the number and only provide the remainder.  For instance, if you take the modulous of 392 by 100, it will result with 92 (392 % 100 = 92).  It does not care about the whole number portion, only what is left after division.  For the INT to REAL function, we need to get the 'whole' part and the 'fractional' part in two separate registers, the put them back together with a decimal place in between.

     

    If hovering over the parameters does not show descriptions, I would suggest re-installing the software and ensuring you are running as an administrator by right clicking on the UniLogic icon.  What type of Windows OS are you using?  What UniLogic version are you running? 

  5. Hello,

     

    There are two ways you could handle this value: A.) leave it as a 'scaled' number and format for diaplying purposed, or B.) convert to a 'REAL' as you mentioned.

     

    A.) If you plan to leave it scaled, you just have to remember that you have scaled by 100 if you perform any math with the number.  When displaying on screen, you have the option to format the INT with a forced decimal place.  This is handled in the properties window (bottom right side of UniLogic) when you have the numeric box displayed.  This is the more simple way of handling this number.

     

    B.)  If you plan to convert to a 'REAL', you must perform two math functions first.  First, divide the number to receive the whole part of the REAL number (in your case, divide the input by 100) and save this into an INT register (we'll call it tag A).  Then, take the modulous of the input over your scale (again, 100 in your case) to receive the remainder, or fractional, part of the REAL number and save this again into an INT register (we'll call this tag B ).  In the "INT to REAL" function block, insert tag A (the whole portion) into input A, insert tag B (the fractional portion) into input B, and in input C, you will put the location of the decimal point (2 for your case stated above).  This function block will reply with your "REAL" number in output D.

     

    With UniLogic, if you hover over the parameter letters, the input and outputs will provide a pop-up description of what the input or output needs or will provide.

     

    Hope this helps.

  6. Hello TomD,

     

    Have you selected in the properities of the VisiLogic program to run the program as an administrator?  Windows operating system is very restrictive to our software and this will allow our software to run properly and can fix errors like this from appearing.

     

    Please right click on the VisiLogic icon and select "Properties", then under the compatability tab, select "Run as administrator".

     

    Please let me know if this helps.

  7. Hello,

     

    You may edit the RTC via the ladder and/or HMI Time elements for user entered time.  This will require a "RTC Time" tag to be completed this way.  Or you may hardcode the RTC via the System Struct, "RTC Time".  It is also configurable via UniApps: from the System Tab choose "Time & Date" option. 

     

    More information on the RTC elements can be found through the following directory in the help files: HMI Screen Editor/HMI Elements (HE)/Time and Date/Time and Date

     

    It is not possible to synchronize the PLC time with your PC time, unless you have a UTC time server on the PC you may connect to.  However, you may choose to connect to other time servers via the intenet to perform this.  There is an example of this in our "Sample Applications" download via the help tab in UniLogic.  The application is called "UniStream_070_RFC_1305_UDFB" and can be found through the following directory: UniLogic Examples_V1.12 rev. 20/WIN7 or WINXP/Time based applications.

     

    Hope this helps.

  8. Hello,

     

    Are you trying to have the PLCs remotely communicate to eachother via the cellular modem?

     

    If you, once you connect the modem to the GPRS network (assuming you are using a GSM modem) you may communicate with the Modbus protocol.  I have added the program here: http://forum.unitronics.com/index.php?/files/file/46-modbus-client-and-server-over-gprs/

     

    Hope this helps.

  9. Hello,

     

    There is a filter UDFB in the Example Programs download for UniLogic.  You can find this download on our website on the Downloads page, or via the help tab in UniLogic: Download Sample Apps.

     

    Hope this helps.

  10. Hello,

     

    Are you just trying to count the pulses from the encoder? 

     

    You can set the input as a high-speed counter to 'Pulse and Direction' interface in the hardware configuration instead of a 'Quadrature (A/B)'.  Then only wire one of the channels from the encoder to the 'pulse' input and leave the 'direction' input open. 

     

    Will this work for you?

  11. Hello,

     

    All information will be transmitted in the communications between the PLC and your device are transferred in bits.  It is up to the PLC to decifer what these bits represent.  For instance, if it is a signed integer, we will place these 16 bit into a tag type of "INT16".  If it is an ASCII character, place the bits into a tag type of "STRING-ASCII".  If you wish to have an array of bits, place the data into a tag type of "BIT" with an array length of however many bits your specifications call for.

     

    If you need to shift, rotate, or mask an integer's bit data, we can do so within the ladder using the "Logic" tab or the "Shift Rotate" tab in the ladder section.

     

    If you need to receive mixed data from your device's assembly instance (i.e. integers, strings, and bits all in the same instance) we may create a user-defined struct to place and separate the transmitted data properly.  The tag type order of the struct will just need to match the order of the register types in that instance we are reading or writing to.

     

    You should not have to "break up" and data we receive (or send for that matter) from the EtherNet/IP device; we should just need to place the data in the correct registers to read the information properly.

     

    What exactly is your output assembly instance is composed of?  If you may, please clarify the data in the input and output assembly instances, and how you wish to interpret it within the PLC.

     

    Please let me know if this information is helpful.

  12. Hello,

     

    In the 'output' section of the assembly, you must link an array or 16-bit integers to have them all come across and in their own independent registers.  So the tag that you linked to this section, just change teh tag type to 16-bit INT again, and next to the tag name, you may create an "Array" of 4. 

     

    Hope this helps.

  13. Hello Sagi,

     

    What is the IP address of the PLC?  What is the IP address of your PC?  How are you trying to establish communications (i.e. though the communications & OS window in VisiLogic)?

     

    When you load a program into the V230, you should include the accoridng ladder to initialize the ethernet card.  Please watch the following tutorial video:  http://www.unitronics.com/support/webinars/ethernet-communication

  14. Hello,

     

    Is it possible to connect a USB scanner to the Unistream PLC via USB?

    Or maybe an external keyboard?

     

    Thanks in advanced,

    Ran

    Hello Ran,

     

    The UniStream USB ports come with standard mouse and keyboard drivers installed.  So you may attach a keyboard or mouse without any extra programming.

     

    The USB hosts may also be enabled for RS232 communications via the UniLogic application.  Once enabled, you may accept and send RS232 messages to any RS232 device.  Therefore, if the scanner is an RS232 device, we may program the UniStream to communicate with it.

     

    Please watch this video for more information on programming the UniStream for third-party protocols using the Message Composer. https://www.youtube.com/watch?v=G8bWtpYDt7E&list=PLFBq_OH6_be7snAZAycZzQMvAWjHkX9Pz&index=22

  15. I reworded my last post wrong and it did not help you guys.

     

    I have attached my ladder here for one.

     

    For two, I attached a screenshot, in my ladder I literally cannot compare to a Double Word. Don't have the option, can not do it

     

    I can not grasp how to say what I am thinking as far as the count. We have a finite number on the actual count. Than we offset that to get us back to zero and than we use the Software HSC as our "count" to base everything off of. Well once our actual count, not offset count reaches its finite max, it will not reset, and will not continue counting. 

     

    I am probably thinking about this wrong, so hopefully attaching my ladder file helps.

     

    Thank you 

     

    Just kidding both files are to large to upload here. I will resize the image to attach here, but the ladder can not be posted as its 110KB and I have a max of 93kb upload.

     

    What version of VisiLogic are you using? 

     

    Please try replacing the compare function block and see if you may choose a DW first.  If you choose an MI first, you will not have the option to compare this to a DW.

  16. This got us a little further but we still run into issues.

     

    I cannot Compare (Greater than or equal to) a DW. We will have an issue once our HSC actually reaches its finite limit of 32,767 than cannot move without a power reset. It would keep resetting the "Software HSC" But never the finite number on the actual counter.

     

    Also, we cannot use interrupts since we are on an expansion pack.

     

    What do you mean you cannot compare with a DW?  Upon placing a compare block down, type DW where "MI" appears, then choose the DW address you wish.

     

    I am still a little unsure why using the "Software HSC" does not work for you.  Why do you need to reference the actual HSC?  Why does the device stop when it reaches 32,767 and need a power reset?

  17. I am having issues with having my total count reset at the target point. My hardware is:

    V130-33-B1

    Ex-D16A3-TO16

     

    I have toggled both the high speed counter and high speed counter with reset on the expansion pack, neither option reset it at its set point. I tried using store 0 into the count, however that is not working either. The decrement portion of the ladder is working however. 

    I tried resetting the numeric insterad of store direct as well with no luck.

     

    I have attached how my ladder is set up, as well as the high speed counter.

    Any pointers of where I am overlooking?

     

    Hello,

     

    The HSC is kept track of on the hwardware level.  This is why you need to send a digital input signal to the PLC to reset the HSC.

     

    If you wish to reset it via the hardware, you must create an offset to create a "software" HSC count.  Basically, you would set up the ladder as shown below, and use the "Software HSC" as the current count.  Then compare this count with your target position. 

     

    11 6 2015 2 31 09 PM

     
    With the HSC functionality, you have the ability to run an interrupt routine upon the HSC count reaching the target position.  I would run this ladder for the SW reset in teh interrupt routine, then add whatever your target position couont is to the target position being observed by the HSC configuration.  This way, the interrupt routine will be able to be called continuously.
     
    Please review the help files for more information on interrupt routines with our controllers.
     
    Hope this helps.
×
×
  • Create New...