Jump to content

Simon

MVP 2014
  • Posts

    598
  • Joined

  • Last visited

  • Days Won

    36

Posts posted by Simon

  1. Quote

    As a side note, if you select an unused output you can toggle it's value just with the normal set/reset functions, there is no need to use "force".

    I don't really understand this. An unused output has no coil in the ladder logic to set/reset (I do NOT want to add the coil and download the change to the PLC). Or perhaps we're just talking past each other - when I say "force", I am referring to the little box that pops up with the state of an operand when it is clicked in the ladder or in the operands section at the bottom of VisiLogic when online with the PLC. For regular operands (MBs), if the bit is off the pushbutton will say "SET" and when it is on the pushbutton will say "RESET". For Inputs and Outputs the pushbutton will say the same thing but it is "greyed out" and you have to right-click to select "SET" or "RESET" to force the Input or Output one way or the other.

    By the way, forcing inputs this way works perfectly, but outputs give me the result I describe above.

    Bottom line, what I need to understand is, am I correct in my understanding that I SHOULD be able to force an Output in the manner I'm describing? If so, what should I be looking at to try to understand why it does not work the way it should.

    Thanks!

    To start with your last question, From my knowledge, you should be able to force outputs this way. I was able to do it.

    On the question of clarification, you are doing what I would expect with the outputs. However I don't expect the normal SET/RESET button to be greyed out. If the output is unused in the ladder (has no coil attached0, then the normal SET/RESET button should work OK. It's only when the output is linked to a coil that the Force is important, so you can override the logic that is driving the coil.

    Something is obviously not right. I would try two things:

    * the usual check you have the latest version of Visilogic, if not, download and and update the PLC OS

    * download a blank project to your PLC then download the real project again.

  2. Firstly, I did a quick test and Visilogic won't let you create a table with 9999 columns,

    However it will let you create a table with 10 columns and 9999 rows. If you can work with that, then I suggest it will be the simplest.

    I would be wary about whether the PLC will handle 9999 individual tables. You would also need to create them manually, and use the Direct data table read and write functions to simplify access (the alternative is 9999 "read row" and 9999 "write row" functions).

    I hope this helps.

  3. Hi Bob,

    It definitely sounds like a touchscreen calibration issue.

    I assume it is a Unitronics touchscreen that you are dealing with. It is possible to enter the touchscreen calibration mode from the front panel of the unit. The exact method varies slightly for the different models, so can you indicate which model number unit you are working with?

  4. Hi Scott,

    As Emil mentioned, Remote Operator can allow 1 user to see multiple PLCs.

    It should also be possible to have up to 4 indivdual users connect to a single PLC, either via Remote Access or Remote Operator. I assume your cable modem has an ethernet interface. By default the PLC has two sockets initialised for ethernet comms with Remote Access/Remote Operator. These are ports 20256 (PLC socket 1) and 20257 (PLC socket 3). If you want a 3rd or 4th user, you would need to include the extra socket initialisation blocks in the PLC to configure Sockets 0 and 2 as additional ports for 20258 and 20259 (for example), and set as TCP and Slave. Also include these ports in the cable modem port forwarding.

    I haven't tested this to see how the PLC would cope with the data demands of 2 or 3 simultaneous remote sessions. However it sounds like you just want most of the users to have occasional access, without needing to worry if one is going to block the other from communicating.

    As per Emil's recommendations, I would use Remote Operator instead of the older Remote Access.

  5. Hello,

    Let me answer the things I know

    1. When you want to send a variable value as part of the message it needs to be enclosed in the # cahracter. For your example you need to send "TEMP #22#"

    2. When you send multiple SMS messages, the system needs some time between each message. Triggering one after the other is likely to result in the problem you see, that the second message is not sent. You could try using SB184 and 185 to hold the second message until the first one is sent, and/or use a timer to create a gap between the messages.

    3. It looks like U90 Ladder doesn't support special characters in the standard SMS editor. The simplest solution is to do as you have done, and split the message up.

  6. Hi,

    "bootstrap" is the word.

    Did you set up Modbus communications?

    It sounds like your program has taken over the serial port, either for good or for bad reasons. Using the bootstrap modes posted by Keith will allow you to prevent the program executing, and re-establish comms to download a program without the serial port functions.

    If you use Modbus, use function code 599 in SI140 to allow the PLC to still listen for communications from U90 Ladder.

  7. I have seen some SCADA packages that use the 5th digit from the right to try and set the function code. They assume there are no more than 10,000 addresses for each data type.

    The following post covers the topic quite well: http://www.control.com/thread/1026238596

    Hopefully the software supplier can help provide a way of dealing with this.

    Another option may be to use the Visilogic Map Register Bytes function and copy the ML value to two consecutive MI values, then read the 2 MIs as a 32-bit value. Please note these values will look like nonsense when you look at the individual MIs, they must be read as a single 32-bit value.

  8. The output *should* be switching in this case.

    I think it is time to check that all wiring and configuration settings are 100% correct. Which I/O module are you using? What numbered outputs are working correctly? Have you tried forcing some other outputs?

    As a side note, if you select an unused output you can toggle it's value just with the normal set/reset functions, there is no need to use "force".

  9. Hi Jonathan,

    Firstly, I haven't gone much further with this, as the immediate customer need went away.

    The communication between the PLC and the printer does need to be ASCII, as that is what the PLC can handle.

    What do you mean by ASCII mode? Do you mean that the printer prints the literal ASCII as it receives it? This is usually the case for strip or tape printers (like in a cash register) but gets awkward for whole-sheet printers, like office printers.

    The PCL protocol above still uses ASCII characters, but they include formatting commands, so the printer buffers all the information and only prints the page when told to. Most office laser printers support PCL, but it requires investigation to confirm all the details.

    EDIT: just took a look at Emil's example. This example looks like it would require literal ASCII mode, it is not a PCL sequence.

  10. There is an easy way to take your existing program and add it into the webserver app.

    It is called export/import subroutine and export/Import Displays. These commands are in the "Project" menu and also in the right-click menu when you are browsing subroutines and HMI Displays respectively.

    There are a few points to watch:

    1. The Main Routine can't be exported. TO get around this I usually just create a new subruitine called "copy of main", then use "select all" to select all the nets in the Main Rutine, and copy/paste to the Copy of Main routine. This can then be exported and the process reversed in the new project.

    2. Named configurations don't always transfer (for example Modbus or SMS configurations). This is probably only if they are from the Main Roiutine, as the initial copy option suggested above causes the name to change, being appended with a number in brackets (eg Modbus _1 becomes Modbus_1(1) )

    3. If there are HMI or Subroutine calls in the program, check these are properly linked after the export. They may need re-linking.

    3. Check that the operands (MB, MI, etc) you use in your program don;t overlap the operands used in the Webserver app. If they do, change them in your program *before* importing the code, otherwise you will end up with a confusing mess.

    I hope this helps.

  11. Hi,

    The Show Alarms function is defined to display all the active alarms as long as one of them is the alarm whose ID was entered to the function.

    You can basically use MI instead of contact ID0 and then each time new alarm is triggered you can keep in this MI the last alarm ID. (you can use FB events for this purpose.

    The other option is to use the Show Groups function which displays the group which was entered to it.

    The best use of alarms is a topic I have looked at. I feel I don't know this as well as I should, so a while ago I made the attached application note, to try and summarise the important points.

    I hope it also helps.

    I would value any comments, and will happily correct any errors.

    AN-2010-002 Unitronics Alarms.pdf

  12. I have no reason to suspect a systemic problem between the V1210 and EX-A2X.

    As always, check you have the most recent Visilogic and V1210 has the latest OS.

    Also, to get the EX-A2X to play ball, you need to have at least one I/O module connected, and have added that module to you PLC program, and have downloaded it to the PLC.

    The EX-A2X will not work on its own.

    I hope this isn't just stating the obvious. Post back with more detail if these pointers don't solve the problem

  13. Hi Ron,

    Since no one has offered an answer as yet, will offer my educated guess.

    I doubt it will make any difference. The System scans the expansion I/O as a complete set, so it should take the same amount of time to collect all the I/O data regardless of what order the modules are placed. With modules like the ATC8, the main source of delay is the module itself, not the update rate back to the PLC.

    From my experience (and by reading the datasheets of the modules), using the remote I/O is definitely not as fast as the Snap-in modules.

    If it is critical to get much better speeds, one suggestion is to put a snap module on the V570, and use a couple of V230 with Snap modules, linked by UniCAN to the V570.

    Another alternative is to use 3rd party I/O modules, on CANOpen or ModbusTCP. Just check the conversion time of those modules also.

  14. With all due respect, I think Alex, you have misunderstood the question.

    The IO-DI16 does not support quadrature encoder (Shaft Encoder) inputs. It is only a simple, single-channel, high-speed counter. None of the remote I/O modules support quadrature encoders. There is no way to link two remote high-speed counters to form a single quadrature encoder interface. The only option for quaradture counters is to use one of the inputs on the snap-in I/O, attached to the PLC. For remote encoders you could add a V130 as a remote I/O slave (via CAN, Ethernet or Serial), as all models of V130 suppost at least one Shaft Encoder input.

    Editorial Note: The addition of quadrature inputs for remote I/O would be a welcome feature if Unitronics offered it. If a dedicated unit was designed, it should also support the marker pulse (Z) input.

  15. Hi,

    OK, now this prompts me to read the instructions over again and get out the mulitmeter...

    On the E3XB, the inputs are isolated from other signals and power supply, but not from each other (they share a common). So if you are using only one input then you can consider the input fully isolated. However if you are using other inputs, you need to consider whether any of those circuits forms a connection between the analogue common and the overall system/chassis ground. If the anser to this is "yes" then the isolation is defeated.

  16. The "plug and play" option is to use a signal conditioner that takes the 4...20mA input and duplicates it to give you two 4...20mA outputs. Both outputs will be identical copies of the input signal. For example Weidmuller produce this type of deivce. This is 99% guaranteed to work, but involves purchasing another module.

    IF (and I say IF) certain conditions are met you may be able to feed the signal to both PLCs without the additional module as above. You would wire the sensor output and the two PLC inputs all in series. The situation varies a little depeding on whether the transducer is loop powered or has a separate supply. In general:

    1. At least one of the PLC analogue inputs must have full galvanic isolation, that means not even the 0V is connected with the Power or chassis GND. Usually this is not the case for the Unitronics analogue inputs, but I am willing to be corrected.
    2. If one of the PLC inputs is not isolated, then the transducer output must isolated from the supply (or be a loop powered trasnducer)
    3. Check the loop impendance, which will need to be evaluated differently depending on whether the sensor is loop powered or externally powered. Bascially you need to push 20mA though all the devices without exceeding the maximum voltage available in the circuit.

    I hope this helps.

  17. Hi Brian,

    Glad you could configure the filter OK.

    As for the units, if your power is in Watts, and your time interval is 1 second, it is easiest to give the answer in Joules, as the multiplier is 1. To get to kWh you divide the Joules values by 3,600,000 (see http://www.calculate...s/ToJoules.htm)

    If your power is in kW then your intermediate value is in kJ and the conversion from kJ to kWh is to divide by 3,600.

    Once again, watch for rounding and overflow errors, that is the main problem to be solved when implementing these types of scaling functions in any digital computing device (PLC, PC, microcontroller, etc)

    I hope this helps. I have limited time to create special examples, but feel free to post back with specific questions.

×
×
  • Create New...