Search the Community

Showing results for tags 'Cicode Citect'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 50 results

  1. Hello All,Does anybody know the correct syntax for the following:-I have a genie with variable A getting passed inI want to use this as a prefix for a variable address to send to a function.function ( %A% + _variable)(_variable being the rest of the address)So if genie variable A was 05 the tag value sent to the function would be 05_variable.Also, I would like to off set the A variable by 4Sofunction ( %A% - 4 + _variable)so would actually send value from 01_variable if the genie A was 5.Hope that makes sense, any help would be greatly appreciated as I've being trying various different ways and cant get it to work.Thanks,Tom
  2. Who Have Someone connected Citect with Omron CJ2M CPU32 ? Can i use it? Device communications wizard -> CJ Seres PLCs -> Ethernet    or need to Finsgateway software.    [Setting] 1. Boards TCPIP / 0(Address)  2. Port -I192.168.100.10 -P9600 -U (*PLC: 192.168.100.1 , PC: 192.168.100.51) 3. I/O Device 0/1/1/      /   OMFINS3    [MANUAL]  ----> Fallow the manual ONLY CS1, CV Need to setting  w/n/u/V  or w/n/u/S CJ2M do not need to this setting ?       I/O Devices Form Complete the I/O Devices form as instructed, with the following specific information. I/O Device Address The station address for an Omron CV Series PC is specified as follows : w/n/u/V for CV mode or w/n/u/S for CS1 mode where w is the FINS network address (1-127) n is the FINS node number (1-126) u is the FINS unit address (0) There are no defaults for w, n, or u, but if you do not specify a mode (with a V or S), it will default to CV mode. The FINS node number should be the same as the IP address node number. The FINS network number should be the same for all ETNs on the Ethernet segment. There is no relationship between FINS network numbers and IP network numbers.   Thank you..
  3. Hi every body. I want to get and set Time Picker value in process analyst in citect scada using cicode. Also  I tried to find an event or function when time picker value is changed , is called but find nothing. May you help me please?
  4. Hello. Recently I created two projects which I later connected with INCLUDE property. Let's say we have Project_1 and Project_2. In Project_1 I include Project_2. Everything works except Trend Groups. The only trend group which is working is the one in Project_1. I know I can copy Trend Group definition to Project_1 but then these two projects are not independent anymore. Did someone come to some kind of solution? Thanks
  5. Our site currently runs Citect 7.4 SP2. We have a redundant server set up, with about 5 - 6 Clients and growing to 8 clients this year.  I'm new to the industry, been in it for about 3 years but I'm getting the feeling Citect may not be as good of a solution for us as something like Intouch looks to be. We are a Batch Process, Food Manufacturing Site. Citect came about years ago by a local sparky installing it as being used as a stand alone, small, simple, <500 point, HMI and Alarm viewer for a piece of original plant which has now grown to multiple plants (Same site different process areas) and 5000 points, which will need upgrading soon. I haven't used InTouch myself, but most other integrator's I come across are always like "Oh, why do you use Citect?", also almost all local integrator's use InTouch, which looks like it has much better add-on packages, support and graphics. We're not there yet, but we're continually moving to try and become a full S88 plant and I'm just starting to think do we jump ship now? I see Schneider have acquired Invensys, as we have System Platform to use the Historian with our Citect System. Just interested to see what people here, particularly if you're familiar with both, thought about the two? Citect is ok, but InTouch looks like a much better solution.
  6. Hello, We have this SCADA system Vijeo Citect 7.2 running in Windows 7. Primarily used as generator's alarm history & monitoring. PLC: OMRON C200HG All communications are good but DIGITAL data (alarms, bustie) from OMRON is not updating in real-time. (Need to restart the Vijeo Citect to make it work).  While BCD & LONGBCD datatypes (voltage, speed current) are working good and showing real-time *OFSVIJEO: INT datatypes are also working good. Protocol UNITY         MODNET30 OMRON      OMRON OFSVIJEO  MODCELL  
  7. We are communicating FX3GE PLC with Vijeo Citect SCADA. We tried various protocols such as MelsecNET, MelsecFX2N, Melsec1, etc. If you know how please help.
  8. Citect: Displaying IO device comm. Error

    Hi guys, In my current project, I have a number of energy meters (128) communicating on Modnet (TCPIP) with Citect as different IO devices. I have a screen, where I wish to display the communication status of each IO device. If there is an error communicating with a particular I need to associate a tag for displaying the same. Can someone guide me how to accomplish this.   Thanks for looking in.
  9. Hello, I am responsible for implementation of Vijeo Citect 7.4 SCADA in my company. I want to connect to Beckhoff PLCs by using Twincat OPC Server. I can control and observe the variables through OPC Control tool, but when I add the device and variables to my Citect aplication, they are always equal zero. I cannot also force through Citect to change the value. I don't know where the problem lies. If you need additional information, please ask me. I will provide you with all the data I have. Thank you in advance. beckhoff_opc.bmp
  10. in Citect i use the following function to associate various Tags with the next popup window, in the previous versions the tags passed to the trend fine since upgrading to 7.4 the trend pens dont display but all the values display fine.  FUNCTION // function AssPIDPopup // Expand a full set of PID tags and open // the PID block supergenie AssPIDPopUp(STRING sSGenie,STRING sBasePIDTag)     AssVarTags(-2,0,sBasePIDTag + "_PV");      AssVarTags(-2,1,sBasePIDTag + "_SP");      AssVarTags(-2,2,sBasePIDTag + "_OP");      AssVarTags(-2,3,sBasePIDTag + "_MAN");      // Now the tags for the PID tuning SG     AssVarTags(-2,4,sBasePIDTag + "_KP");      AssVarTags(-2,5,sBasePIDTag + "_KI");      AssVarTags(-2,6,sBasePIDTag + "_KD");      AssPopUp(sSGenie);      END I added a button to run the following code FUNCTION Loadtrend()     TrnSetPen(19, 1,  AssInfoEx(1,0));     TrnSetPen(19, 2,  AssInfoEx(2,0));     TrnSetPen(19, 3,  AssInfoEx(3,0));     Prompt("Test");      END     when clicked the pens set to the trend fine, i tried to run the code from a function but it did not work. i am new to citect and am sure i am missing something stupid.
  11. Hello there. I have connected wireless module (master) to Vijeo Citect 7.4 using RS-485 to USB converter. My slave modules are supplied power from gird/generator and the master module is supplies from a UPS.    I'm reading Modbus registers of slaves modules data via wireless master. Every time we have a power failure from grid, I get #BAD from all slave addresses. The generator kicks off within 30 sec. That is the slaves are off for 30 sec. Even after the slaves are powered on, SCADA does not poll data from it until I restart the SCADA.    My current MODBUS parameters are:   Inittype = 3, TimeOut = 3000, WatchTime = 10, Retry = 2. Could you please assist me on which parameters to change in .ini so that SCADA reads Modbus registers of slave for more than 30 sec.   I tried increasing TimeOut to 30000 but it couldn't solve the problem. I would appreciate if some one could help me out.   Thanak you in advance.      
  12. Hello all, I'm working on existing project with Citect scada V6.0. My actual HMI communicate with my TSX P57 threw OFS. It works fine. I've a new project about linking Citect with 1 Wago PLC, using modnet. I've created a new project for that, out of my actual project. It's working fine too. I can read all the modbus TCP datas of my wago Unit.  My problem is now integrating my wago project into the actual. I include it into, but it does not work. To resume, If i use the only actual project, I can watch my data on the screen threw OFS; I i use the modnet project alone (after configuring the citect computer setup), i can wath my wago data on the screen. If I use the both project together, (including modnet project in the actual), modnet data are not linked. Any ideas to help me? thks all
  13. Hello Everybody, We need to get Toshiba PLC to communicate with citect directly via ethernet. I have attached a photo of the PLC we're using..V series. Really appreciate any input on this matter (regarding the right drivers for this series)...Thanks alot!
  14. hi i am using vijeo citect 7.4 i generate a report automatically using a triger but the report generated in the .rtf form which any body can change the values in the report so i want to either make the report in the read only form or convert it automatically to pdf + i ' ve another problem i am tring to write a string in the report using the form {tag_name:############} where the tag_name is a variable string memory where i store in it a word "starter" when the report is generated only two letters "st" is generated can any body give me a solution for these two problems , thanks in advance .
  15. Hi All: I am new to Citect and looking for a way to create 1 page that has 25 valves (genie that pops up a super genie) and some analog genie/super genies. What I want to do is create 1 page and dynamically replace everything when someone selects a different rack in the system. I have 4 systems that have the exact same equipment times 10 so I want to avoid creating 40 different pages. Can anyone help with some ideas on how I can accomplish this? Thanks M
  16. In my present project, I have to interface an energy meter that has its kWh count in 64 bit Double format. Now that Vijeo citect hasn't a facility to create tags of the "double' type I am looking for a work-around to this problem. Thanks for any help/advise in this matter
  17. Hi, I'm wanting to know from anyone using Citect 7.X and above, about how your systems are set up when using a primary/secondary redundant server setup. With the advice from some consultants I've changed from a couple of stand alone units to a redundant server setup and multiple clients plant wide. There's about 8 PLCs currently with more coming. However it was recommended to split the IO server of Citect over the two physical servers, so that 1 physical server is the Primary IO server for 4 PLCs and secondary server for the other 4, then the other physical server has the same setup just opposite Primary/Secondary setup for the devices of the first physical server. I get that it splits the work load, but our engineering team is updating the servers multiple times a day most days and we will be for at least the next year, I'm finding that this system isn't very friendly constantly shutting down and restarting etc interrupting trending also, and want to switch from this split IO Server setup, to just one server that's primary, one server that's secondary. My Question, is it fine for one physical server to be primary and for how many PLC's? Server is a 6 Core Intel 2011 socket CPU (Not sure on exact specs at this stage). System INFO TAG count is about 5000, and Manufacturing is a slow process so no need for split second updates on anything. about 500 Trends polling every 1 second. Cheers.
  18. Hi friends, I have this need to declare a few arrays of string variables and intialize them with a particular value, in Citect. In citect, on the forms for variable declaration, there is a place given for entering the array-size. In the case of other data-types such as INT or REAL, entering a number here will imply that the declared variable is an array with the size mentioned in the Array-size. In the case of string variables, the array size represents the size of the string ie. one element for 2 characters. If we declare the size of the array as an extension of the variable name, such as StrVariable_array[30] then Citect throws up a compile error. We are of course able to declare an array of string variables in the cicode editor, but then this is not 'Global' for use as variable tags. So the question begs.. How do you declare an array of string variables, preferably using local variables. Thanks for looking in, regards and best wishes.
  19. Hi Guys, I wish to know if there is a method by which one can use string substitutions in Cicode functions.. It is a very useful thing, when used with structured tag names. In my current project, there are 200 Energy meters, each having 8 tags, hence 1600 tags. Each group of 8 tags has the same pattern ie <prefix> being the identity of a given meter. <prefix>_Vavg, <prefix>_Iavg, <prefix>_MaxkW, <prefix>_kWh, <prefix>_kVAr, <prefix>_kW, <prefix>_RunHrs I wish to log this data onto a SQL database table named "METER_LOG", carrying out the logging actions for each meter in a record, that has these fields(Columns) |Meter_Id |----|Vavg|---|Iavg|----|MaxkW|----|kWh|----|kVAr|----|kW|----|RunHrs| My goal now to do this in a loop, so that all the logging actions are done with a few lines of code. There is a table-"METER_IDs" that gives the list of all Meter_IDs or <prefix> And the code I wish to implement is a cicode function that would look like this.- It is not correct, I've used genie substitution syntax and that won't work here. FUNCTION LogAllMeters() int hSQL; string %Cur_ID%;// --This is the string that will be substituted in the loop hSQL = SQLConnect("DSN=<DSN_name>; UID =xxxx; PWD=yyyy"); IF hSQL <> -1 THEN Status = SQLExec(hSQL, "SELECT Meter_ID FROM METER_IDs ORDER BY Meter_ID"); IF Status = 0 THEN WHILE SQLNext(hSQL) = 0 DO // --Scan till the end of the list for all meters %Cur_ID% = SQLGetField(hSQL, "Meter_Id"); INSERT Into METER_LOG VALUES ( %Cur_ID%, %Cur_ID%_Vavg, %Cur_ID%_Iavg, %Cur_ID%_MaxkW, %Cur_ID%_kWh, %Cur_ID%-kVAr, %Cur_ID%_kW, %Cur_ID%_RunHrs); END SQLEnd(hSQL); SQLDisconnect(hSQL); END ELSE SQLDisconnect(hSQL); Message("Error", SQLErrMsg(), 48);END//----outer IF End// of FunctionI would greatly appreciate it if someone could guide me with a way to substitute strings so that the structured tags are correctly referenced inside the loop. Thanks a million for looking in.
  20. Hi All, I'm adding a system to my current project which is used to keep product labels correctly moving around the plant (On Screen) and then end up in their correct destination silos and stay there until manually cleared. The labels are determined by referring to an INT in the PLC DM register for that particular part of the plant and then references that to a preset String Variable Tag to display. Now I've made a Genie that is to be attached to each Silo which opens up a small super genie which will just have - a Title, - the label of the current product in the silo(Var Tag), - a label of the previous product to be in that silo (Var Tag), - and a button with a function that I've written to clear that particular label and then store the current label value into the previous product label. The function in the button works fine on it's own but the problem is I'm trying to have it so that I can just pass through the arguments to it from the original genie, but I have had no luck trying to do this. The function in the button is as such: Previous_Label(INT Current_OilCode_tag, STRING Previous_OilCode_tag) <these are the correct data types for these tags as set in citect. Which when I Set it up in the SG is: Previous_Label(?INT 1?, ?STRING 2?) In the genie Itself im using AssMetadataPopUp() and I'm just setting it up in the Metadata Section as: - Name: 1 Value: %Current_OilCode% - Name: 2 Value: %Previous_Oilcode% As said it works if i just set the button up on the Silo Page (Outside of the SuperGenie) and use it there, but having the button in the SuperGenie and trying to pass the Variable Tags into it has been a Nightmare. I should note that I went to the lengths of just Duplicating the button 20 different times and the function also was tweaked to just work for one silo each, then set the Hidden When field to: ?INT 3? <> 1 (For Silo 1 for example) then just having all of the buttons on top of each other in the SG, but much to my frustration this also did not work as all the buttons were hidden, I believe that this is because for ?INT 3? I was simply just typing in 1, not an actual variable tag so I am yet to test this. Hopefully someone here can perhaps spot something I'm doing wrong. Also I can upload the actual codes, I just don't have them on me right now. Many Thanks.
  21. Hi Friends, I am working on a small project that needs to log data from energy-meters (about 200) onto a SQL database. I have written a function for logging in Cicode that is connecting to a DSN with multiple tables. It gets the customer's Id, one by one in a loop from one table assigns the readings, and logs it to another table. Problem observed with my method is that the loop does not move beyond the first entry in the Cust_ID table. I suspect that there may be a need to use different handles for different tables. OR - The TagRead() function is blocking further execution of the loop. PS:- The use of SqlNext(hSql) has worked well in a similar function to load combo-boxes with All Cust_IDs. Something causes the While loop to end Greatly will appreciate any help in resolving the error. PS:- The use of SqlNext(hSql) has worked well in a similar function to load combo-boxes with All Cust_IDs. Something causes the While loop to end Greatly will appreciate any help in resolving the error.
  22. I have 4 General Electric Multilin PQMII-T20-A power quality meters connected on a daisy chain RS485 2 wire half duplex network with baud of 19200. they are addressed as nodes 1,2,4 & 6. the RS485 network is connected to a Modbus Ethernet/RS485 convertor which i have setup with IP 10.15.35.126 for my network, the port used in the convertor documentation is port 502. i need some help to get Citect to pull a tag out of this network. my issue is the comms setup of citect. i have attached my screen shot of citect setup (Citect is V7.2). thanks in advance for any help on this issue.
  23. Hi friends, In genie substitutions For example, in a genie%Tag%_MaxValue, %Tag%_MinValue, %Tag%_PV, are done for subsitution of %Tag% with TIT_101as TIT_101_MaxValue,TIT_101_MinValue, TIT_101_PV . In this example, when the genie is pasted, we give TT_101 as the genie's argument. However, if sTag is a string variable, that can take multiple values, -say TIT_101, TIT_102, TIT_103 I find it does not work. When I try using sTag in the genie, %sTag%_XXX it is not getting accepted. So also referencing the prefix as "%sTag%"_XXX is again useless. What is needed to substitute %Tag% by the value of a string variable? so that the tag name referenced is correctly calculated by concatenation of the prefix? Regards,
  24. OMRON PLC's and CITECT Comunication

    Hi All; I am struggeling to get my CITECT to talk with my CJ1MCPU12 with ETN21 module. I can ping the IP address from the citect PC and also connect CXONE using ethernet with supplied IP Address. I do not have FINSGATEAY installed as the PC is Windows 8 with CITECT 7.4. Any Ideas would be most welcome as I am drawing a blank. My settings are OMRON ETN21 IP: 192.168.0.3 Unit number: 0 Citect SCADA Primary Server IP: 192.168.0.24 Citect.INI [OMFINS] Source = 1/3/0 (not too sure what this should be...) COMMUNICATION settings: [bOARD] Name: BOARD1 Board Type: TCPIP Address: 0 [PORTS] Name: PORT1_BOARD1 Board name: BOARD1 Special Opt: -I192.168.0.3 -P9600 -U [i/O DEVICES] Name: Internal Number: 1 Address: 1/3/0/S Protocol: OMFINS3 Port Name: PORT1_BOARD1 Startup Mode: Primary Prioirity: 1 Memory: True
  25. Dear All, I have a little problem in reading data from Power Meter to Vijeo Citect v6.0 I'm using Schneider PM810MG for Energy reading from Power Meter and for the SCADA I'm using Vijeo Citect v6.0. I can do some simple data reading like current, voltage and the others using variable tags from Vijeo Citect with Data type INT. But i dont know how to read the data for "Real Energy In" since the data range from 0 to 9,999,999,999,999,999. Waiting for all your help soon. Thx. Best Regards, Budiman Chandra