Jump to content

Simon

MVP 2014
  • Posts

    595
  • Joined

  • Last visited

  • Days Won

    34

Everything posted by Simon

  1. Hi, I see where you are coming from. I can see it may work the way you say, but that will need the valve signal input to be fully isolated. So you would set Vout1 (connected to -valve) at 5V to give a reference point, then raise or lower Vout0 (connected to +valve) to give -5V...+5V relative to the Vout1. However I still think an external isolator is the most robust method, and simple to understand for you and anyone else who needs to maintain the system.
  2. Timer current values may also be retained (depending on the logic used to control the timer), I left that out of my list.
  3. You may be experiencing the effect of retained data. All user operands (MB, MI, ML, MF, DW) are retained during power-off. If you need them to take a specific value at power-up, use the Power-Up property of the operands.
  4. The short answer to your suggested fix is "no". The keyword that needs to be understood is "galvanic isolation". The analogue ouputs on the E2B share a common. If they were fully isolated from each other you could use one output for the positive, connected the normal way. For the negative you would need to connect the second output in reverse. This is only possible if the two outputs have their own commons (0V) AND are fully galvanically isolated from each other. The relevant aspect of Galvanic isolation in this case means no continuity between their 0V terminals. THis is not the case with the module you have. You would also need the valve inputs to be fully isolated. IF the input of your valve is galvanically isolated, then you could use a voltage divider circuit (with resistors) to create a "virtual" 0V point that is in the middle of your 0...10V span. This requires that the 0V input on the valve is not connected internally to the valve housing or the 0V of the valve power supply. The third option is to purchase an EX-A2X and IO-AI4-AO2, which gives you a +/- 10V analogue output. Another option is to use an external analogue isolator, configured for 0...10V input and -5...+5V output.
  5. If you needed to swap the bytes in the PLC, as far as I can see you can do it in two steps: 1. Use the "Vector" -> "Struct" block to take the MF bytes and copy to a DW. This copies the bytes as they are, instead of interpreting them as a number 2. Use the "Vector" -> "Swap Bytes" Function and use the "32-bit" option to swap the upper and lower words of the DW value. To read the value via SCADA you have two options Use the SCADA "read float" function, but point it to the address of the DW in the PLC OR Use the "Vector" -> "Struct" block again to copy the bytes of the new modified float back into an MF register (note this will show a strange number when viewed as a float in Visilogic, becuase the words have been swapped). Then point the SCADA function to the MF register. I hope this helps.
  6. Hi Cara, The MJ10-22-CS32 does come up in the helpfile, however there is no diagram or pinout. You have posted the MJ10-22-CS25 pinout. The MJ10-22-CS32 is the cable required to connect a PC to a Wavecom Fastrack modem for initialisation, or to use as a PC-side modem. I wouldn't really expect it to be in the help since Wavecom have fallen out of favour as a supported modem. However we still have a lot of them in the field and working. My pinout table is currently hand-written on the relevant page of the Wavecom manual, which I should not post for copyright reasons. If needed I can transcribe to generic form.
  7. ASCII format would be another option, but it is tied to the SMS functionality. The M90-T does not support SMS. The next fallback is to use the PCOM protocol and create a PCOM request using the V130. The PCOM protocol is available here: http://www.unitronics.com/Downloads/Support/Technical%20Library/Vision%20Software%20Miscellaneous/Miscellaneous/Communication%20with%20Unitronics%20PLCs.pdf This could be time-consuming if you are not familiar with serial protocols.
  8. I have also seen this, "Run as Admin" fixed the problem.
  9. The Modbus should work via the USB port/COM1. However you need to initialise the PLC as a Modbus slave, regardless of what port you use. This needs a Modbus Config block and a Modbus Scan block (in general terms). Check the Examples in the help menu for Modbus slave for the exact details. You won't find one written directly for the V1040, but use the one provided and convert it to a V1040 project. The display will look a little odd, but the logic should work fine. Just make sure the Modbus configuration is configured for COM1. I hope this helps.
  10. Mine updated OK. Is there a plan to allow this to be updated via the Visilogic menu - Help -> Check for Updates -> Help ?
  11. Ahh, my ESP waves did not reach that far. I see what's missing. There is something missing from the help (sorry Cara), on the dialog box you should see a "DOS-like" icon with "c:\" on it. Click that one to add the startup splash image. I hope that helps.
  12. It sounds like one of your thermocouples always reads -0.1C regardless of temperature. As Alex suggests, the scehamtic is not going to tell you much. I would check: * swap thermocouples to ensure they are both working * ensure the thermocouple is connected with the correct polarity * configure another thermocouple input on the same PLC. The most likely problem is a faulty probe, incorrect/faulty wiring or configuration error. If those can be conclusively eliminated, then perhaps there is a faulty input on the PLC, but that is the least likely, based on my experience.
  13. There is a checksum variable in the list of variables for the protocol message.
  14. Apologies in advance if my opening line was a little too "plain" and seen as harsh or disrespectful. It was a bit of a nerd moment (Sheldon style), and I of course have great respect for Joe's and Alexander's abilities and knowledge.
  15. Both of my esteemed colleagues appear to have missed the point of the question. Firstly, I assume you mean the V1040 (you typed V1020). There is the ability to set a splash screen that displays as soon as power is applied, to cover the black and white text that shows during the boot process. This is described in the help, search for the term "Splash" and go to the "System Images" topic. You will need to perform a download to make the splash screen active. If you want the splash screen to display for longer, also add the same image to the !Startup Display in your program, as per Joe's instructions.
  16. I don't think subroutines will make a lot of difference to the difficulty or complexity. Mainly I would say you should map out the operands so that within each EX-RC1, all your analogue inputs are in consecutive operands. That way, when you build the block of data to send on the CAN bus, it can be done with the minimum number of steps.
  17. For that matter, you could then add a second keypad entry variable for the exponent and convert the two values to a single MF in the ladder.
  18. Generally when selecting analogue outputs, it is necessary to be aware of any loop-power requirements. I have dealt with other brands of I/O systems, and the default offering is usually for auxiliary powered devices. If loop power is required then a specific analogue output module must be used. This is at least the case in industrial automation, it may be different in other industries where loop power may be more the norm. As far as I know, Unitronics devices do not provide analogue loop power on their outputs.
  19. That's an interesting characteristic of those positioners, something I will remember for future occasions. If that is the case, then it seems that the isolating transmitter is the best option. It would be interesting to understand why the Unitronics output can't drive that type of input, whilst the signal generator and the isolating transmitter can.
  20. It sounds like maybe the Fluke simulator is introducing additional resistance into the circuit, hence the lower current required to generate the 5V. This also depends on where you are measuring the 5V. It seems odd that a 4...20mA device requires a specific voltage across its terminals to operate. Nornmally the voltage must be free to change, based on the current and series resistance. What is the impedance of the 4...20mA input on the Samson positioner?
  21. My quick answer is as follows: 1. Perform integer divide, m3 DIV 100, store the result 2. Perform modulus divide, m3 MOD 100 and perform the following comparison 3. IF m3 MOD 100 = zero, THEN number of batches = m3 DIV 100 OTHERWISE number of batches = (m3 DIV 100) + 1 I hope this makes sense, and anyone is of course welcome to suggest an alternative.
  22. The first step is to create a counter to keep track of your cycles. There is no built-in loop counter like the FOR loop. Then decide whether you want to complete all cycles in a single scan, or perform one cycle per scan. I would also consider putting the sequence in a subroutine of its own. Programmers vary in their preference on when to use subroutines. The main goals are to make the code function correctly, and also be easy to understand for someone new. 1. All cycles in one Scan - add a label before the call of the subroutine containing your sequence and place a Jump to Label instruction after the subroutine call. Keep calling the Jump to Label until your loop counter has reached its target. This structure will generate a compiler warning, as it is possible to create a very long scan time with loops that use Jump instructions. The PLC has a watchdog that will stop the PLC if the scan time is too long. 2. One Cycle per scan - call your routine once per PLC scan, until it has executed the required number of times. This is more in line with traditional PLC function, where the scan time is relatively constant. You can monitor the actual scan time from SI 0.
×
×
  • Create New...