digispark

MrPLC Member
  • Content count

    28
  • Joined

  • Last visited

Everything posted by digispark

  1. OMFINS3 Citect #BAD Data

    Hi All, I got a CS1H-67H CPU with EIP21 card setup. I'm having trouble for Citect SCADA 7.20 SP3 to talk to the PLC. I keep getting a "I/O Device offline, cannot talk" error. Both PLC and SCADA PC are on same network switch, that's all it is between them at the moment. OMRON EIP21 IP: 10.10.0.10 Unit number: 12 Citect SCADA Primary Server IP: 10.10.0.1 Secondary Server IP: 10.10.0.2 Citect.INI [OMFINS] Source = 0/1/12 (not too sure what this should be...) COMMUNICATION settings: [bOARD] Name: OMRON_BOARD Board Type: TCPIP Address: 0 [PORTS] Name: OMRON_PORT Board name: OMRON_BOARD Special Opt: -I10.10.0.10 -P9600 -U [i/O DEVICES] Name: OMRON_PLC Address: 0/10/12/S Protocol: OMFINS3 Port Name: OMRON_PORT Startup Mode: Primary Tried many times with different I/O device settings: 1/10/12/S and 0/10/12/S doesn't seem to work. Am I missing some other configuration at PLC side to make it talk to Citect? Thanks!
  2. ETN21 Time Sync and DST

    I have setup the PLC to sync to the SCADA computer acting as NTP server each day at 02:01AM. During the setup, I need to put in the time offset from the time server for the PLC to apply. But this does not take daylight saving time into consideration. If I put in time offset of 10:00 hrs, it will only read non-DST time, which is one hour behind when DST is active. What is your recommendation in fixing this?
  3. ETN21 Time Sync and DST

    I found a FB here that enables a bit when DST is active. With this, is it possible to change the time offset in the program? Like if DST bit is ON, set offset to +11:00 and DST bit is OFF, set offset to +10:00.
  4. Communications Over 5 kilometers

    Assuming you're not working on a offshore platform, you may consult in getting multiple repeater links in between to solve your line of sight issue. Put a repeater on each hill with a high mast for LoS to each radio. You'll need to consult to radio surveyor for your terrain topology and antenna selection.
  5. Communications Over 5 kilometers

    Hi Bob, I've had an OMRON setup over 50km pipeline using TRIO (now Schneider) JR radios over Ethernet. You have a choice of freeband 900Mhz or licenced band of 450Mhz from Schneider. All OMRONs over the pipeline talk over FINS Ethernet given appropriate timeout allowed, it is a very straightforward setup. Radios are powered through solar power regulated 24V supply with battery bank, they take 12V too. One car battery can run it for weeks without ever need to charge up. I like these Ethernet radios as it is a transparent network for the Omrons and no mocking around with Modbus and serial comms. I had more trouble with serial comms over the UHF radio because it involves more setup in the PLC and other stuff. Hope this helps.
  6. Omron PLC - PLC via SCU41

    Hi All, I have 2 CJ2 PLCs with SCU serial cards, they are connected via pair of RS232 serial data radios. I need very simple comms between them, write maybe 5-10 words from PLC B to PLC A. PLC B serves as a remote IO gathering device. I was told that I need to use CX-Protocol to create a protocol macro between the PLCs. I never worked with CX-Protocol and I'm a bit unsure what to do. Could someone point me to the right direction on how to set up the serial comms between two CJ2 PLC with SCU cards?
  7. Omron PLC - PLC via SCU41

    Thanks Dylan, RECV2 function seems pretty straight forward. Could you please guide me through the cards setup? Do I need to do any additional setup to the SCU cards to assign a FINS node number on it?
  8. Using BSET instruction in FB

    I'm writing a function block to handle comms timeout based on a lifeword counter received. So if the lifeword counter stops incrementing for x amount of time, the FB will write a zero to all RX word registers. In it, I have a BSET instruction, to write a zero integer (Internal) from a start address word (IN OUT) to an end address word (IN OUT): BSET (071) Zero_Integer Start_Word End_Word Upon compiling, I get an error saying "The variable does not have enough memory size for the operand, or start/end addresses are different variables". How can I bypass this error? Is there a way to manipulate addresses using math functions? Like start address = D5000 +25 words = end address = D5024...
  9. Using BSET instruction in FB

    lol you made my day The FB does bit more than just writing zeroes into those registers, like FINS comms between the PLCs etc... I thought it would be easier to just copy paste and replace FB and parameters.
  10. DIFD execution cycle

    Thanks for pointing the first point out. This led to finding the instrument has loop error during the time of reset (which disabled the FB Enable bit). This explains the mismatch in the debug run in simulation and bench test PLC.
  11. DIFD execution cycle

    Hi All, I'm trying to troubleshoot a CS1H CPU using a DIFD one shot bit execution command. It has a bit output from a FB, using DIFD (W0.00), declared as a public symbol - P_Reset_Flow, used for global flow accumulation reset. In another function block (ST), it uses the bit as external symbol: IF P_Reset_Flow = TRUE THEN Flow := +0.00 END IF Problem is: * Reported on site PLC does not see the bit coming on, only for couple of FB instances (closer to the end of the cyclic runs), other FB instances do work * The same function block, is working as it should, flow accumulation counts up, but will not reset. Other function block instances do reset the flow. * I've successfully done simulation of the code, it works with no problem * Loaded same program onto a CJ2H CPU, it works with no problem I'm a bit out of clue why this could be an issue. I would expect P_Reset_Flow bit to remain ON for entire duration of program cycle, not sure why it is not picked up in couple of function block calls. Searching the PLC program, cannot find any JMP/JME or SBS/SBN calls, this rules out execution skipping of the FB.
  12. Pulse to m³/h

    As above, frequency of the pulse do matter with the choice of calculation method. Do you know what is the operating range of this flow meter? what is minimum and maximum flow rate? Is it a constant flow or it activates infrequently?
  13. Problem getting CS1W-ETN11 to connect using ethernet

    Also, check on the card itself does not have a ERH red light coming on. It happened to me where I found a card setting on the front knob switches been tampered and ERH occured, but PLC still remains to function normally as it would. Make sure Unit number matches your IO Table setup, and your node number matches the last digits of your IP setup. In your case 222 = DE [hex].
  14. Problem getting CS1W-ETN11 to connect using ethernet

    Can you ping the PLC? If no, check router/switches. Is this an existing processor that you want to connect to or it is new & commissioning? what connection settings are you using for your CS1G-H? EIP, FINS TCP, Ethernet, etc... Easiest way to troubleshoot easier is to connect your laptop directly to the PLC and test from there. Not easy if the PLC is already commissioned and requires the ethernet link to other devices though.
  15. Can I ping from PLC?

    Hi All, Is there a function in OMRON EIP/ETN cards to ping another device? I have a RTU telemetry on RS232 to the OMRON, and then out to a series of Ethernet connected devices, VSD, Ethernet Switch, HMIs, etc... RTU should send out alarms if any Ethernet device is 'offline'. Instead of writing send/receiving life word/bit functions to those devices, can I use a ping command (from PLC) to check if they are 'alive' on the network? Thanks!
  16. CJ2H - Data Types

    I just discovered the data types structure function available to the CJ2H CPUs. It seems like a very neat way to structure all standard device symbols. However, I came on to one small problem, the comments don't display what I have entered in the symbols table and struct member comment. For example: [struct] VSD_Motor Auto := BOOL Manual := BOOL I then create a new motor called M100 (Main mixer motor) as global symbol address 100 with VSD_Motor type. In my program I create a new contact using M100.Auto (100.0) , all works perfect but the comments. when I click on it, the comment only shows 'Auto'. Is there any way to display 'Main mixer motor - Auto'? The data type is kinda useless unless the comments appear properly in the cross referencing.
  17. Tips to speed up Citect OMFINS3 driver?

    Hi All, I have a CS1 PLC connected to Citect SCADA 7.2SP3 through an ethernet switch. Network structure is very basic, one EIP21 card on the PLC and then through Ethernet switch via CAT5e cable. I've tried many different combination with OMFINS parameters in citect.ini, but SCADA still seems to be responding very slow. Typical read of a tag value takes about 3 seconds to respond. But the write commands seems to be a lot faster. Anybody uses OMFINS here and care to share any secrets found in these parameters?
  18. PLC memory usage?

    Precisely what I'm looking for. Cheers! The PLC has been selected, I just need to figure out which CPU size to choose based on estimated kSteps required.
  19. PLC memory usage?

    Hi All, My first question, how do you tell how much memory is used in an Omron PLC? Second question, is there a a formula/spreadsheet that I can use to predict final program usage based on number of each instruction calls? Am I able to make up initial FBs and based on number of each instruction calls and function block instances to estimate the final size of the program? I'll need to decide on a CPU unit soon but nowhere near completion of the final program.
  20. Using modbus through serial connections

    Bob is spot on, as usual. If you are using Modbus holding registers, by default it is your DM addresses. ie Holding Register 0000 = Modbus 4000 = D0000 Holding Register 0101 = Modbus 4101 = D0101 It's that simple. If you're working with bits, like CIO 1.00 and 1.01 and you want modbus to read this, simply add an instruction in your program with: MOV 1 D1 All 16 bits in 1.00 - 1.15 are moved to D1, or modbus holding register 0.
  21. CS1H Modbus-RTU Via RS232

    Hi, I'm trying to communicate to a RTU device using RS232 connected to the Host Link RS232 port on the PLC. The RTU is set as Master and Omron as Slave device. I've followed the following document for CS1 Modbus slave setup: http://forums.mrplc.com/index.php?app=downloads&showfile=512 Only thing I have changed is the Modbus node number and baud rate. Node I'm using is node 1 and 19200 baud rate. Can't seem to get comms between the devices. Nor that I am getting any errors in the subroutine calls. I'm a bit out of clue where to start investigating. Could it be that I have two sections in my cyclic 01 task, one for copying data and heartbeat signal to be sent through, the other one is the subroutine from the example above. Or could it be the cable that I'm using, I have not checked the pinout of the RS232 cable that was custom made to length. Wondering if anyone got any clue what to do?
  22. CS1H Modbus-RTU Via RS232

    Yeah I did load up the memory data file incuded for CRC calculation. There is no CRC error, but no 'correct CRC' either.
  23. OMFINS3 Citect #BAD Data

    [sOLUTION] OK, I got this working. :) Problem lies with Omron setup and SCADA driver. In order for Citect to talk OMFINS with PLC, you must set the EIP card FINS network to anything but local network 0. So if you set the card as local FINS network 1, and use 1/10/0/S in Citect, it works. Thanks for the help guys.
  24. OMFINS3 Citect #BAD Data

    Yeah [LAN] TCPIP = 1 is already there. Tried IgnoreNonFatalError = 1, no luck either.
  25. OMFINS3 Citect #BAD Data

    Very strange. That didn't work either. Kinda running out of clues now.