Jump to content

PeterFukt

Members
  • Posts

    45
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by PeterFukt

  1. The customer won't change their network so we must unfortunately make the PLC work for them. I make a few com inits and some buttons with a toggle function in the HMI to choose preset settings. One question remain: is Unit ID needed? When I tried the program, I could communicate with RS485 using the Modbus TCP/IP ID number. The Unit ID has always been the default 1. I tried to set Unit ID to 64, and use that in my Modbus master program but that did not work. When I used the Modbus ID number, it worked well. So I'm wondering since the 485 help file tells me I must set the Unit ID. Is it not needed on the Samba?
  2. Spot on, it is a German company that use the 9600,8,e,1 setting so it is "not acceptable" that we have other default settings that cannot be changed so that the change is saved at power loss. If the settings could be stored as MI's everything would be fine. I read somewhere that if the master has a lower baud rate setting than the slave, it still works, that the slave will communicate with this lower baud rate. Is that so? In that case, I could make a couple of com inits that have 8,n,1 and 8,e,1. 8 to choose from. 8 and 1 seem to be most common bit setting.
  3. The customer use 9600,8,E,1 in their network. After setting the PLC to those settings using Info mode, serial menu, the communication only works partly. Everything else in their network works. Also very strange, when they connect the Modbus, they can no longer push a button on the HMI to start the unit. It is being locked. It calls MB2 to start the unit. The customer also say that they can't trigger this function with modbus. When I tested it, I got it to read and write coils on address 2. With Modbus TCP I can use MIs to change TCP IP card settings. That is not possible with the com init. Our PLC program is supposed to be universal meaning we don't customize the program with specific com settings. It's also a PLC memory issue, I can't add much more to my HMI. What settings are essential for a master to communicate with a PLC slave? I need the least amount of possible com init combinations to select from a HMI page. If slave has 57600 and master 9600 or the other way around, does it still work? Is it more important that data bits, stop bits or parity is the same? Sorry for all the questions, but all of a sudden, I'm getting lots of messages from annoyed customers that do not use 57600,8,1,n.
  4. Another question on the RS-485 matter. A customer is getting very upset that they do not get communication to work properly. In the com init block, my program set 57600,8,n,1. If the customer use these settings, everything works. But their system use 9600,8,e,1 and when they change the PLC settings in info mode to their settings, the communication only works partly, all commands are not working for them. Any idea why this is? Also, must I make a com init block for each possible combination and a HMI page where the customer can choose one combination of RS-485 settings or how else is the problem with different com settings at the customers taken care of since info mode changes gets overwritten at power up? Maybe make the change in info mode and after that activate a button that prevents the com init block from running again?
  5. I see. But if the Modbus master communicate with other baud rates, it can still communicate with the PLC right? What does the Unit ID that you can set in information mode do? The RS-485 documentation say that a Unit ID must be set to communicate with the PLC but when I try it with a Modbus master program, it seems to only use the Modbus ID. Can Unit ID be disregarded and kept on 1(Canbus) when using RS-485?
  6. Hello, I just got informed about an issue with the program I have made for a Samba SM35 regarding Modbus settings. I use a Com Init block directly after a power-up bit that initializes factory com settings. If I enter Information Mode and change the serial settings for RS485 there, everything is fine until a power loss. The settings are overwritten at power-up. Is there a way to prevent the settings from getting restored to Com init settings after a power-loss or unit shut down?
  7. IT would be nice if there could be a min max feature to the linz block in the future. I solved it using some compare blocks to store 0 or 100 % to the output when out of range. It seems like it works.
  8. The code I used from the example is that when the timer stops, I call an empty HMI. The empty HMI calls a subroutine "on load" that set backlight to 0. The empty HMI calls a subroutine "while displaying"that load last HMI on touch. The empty HMI calls a subroutine "on unload" that sets backlight to 100. But when I touch the screen, I can accidentally press a button on last showed HMI which can be bad for the process running. I need a solution for this if possible.
  9. Hello, I used the screen saver code from the example with the Samba SM35-J-TA22. The problem is that when the screen is touched and the last page is called and I touched an area with a button on the last called page, that button gets pressed. I want a screen saver that does not activate any buttons when the screen is touched and the screen "wakes up". Is there any easy way to do that?
  10. It works pretty good, but the output overshoot the limit. Y1 is 4095, Y2 is 0, X1 is MI91 (170) and X2 is MI87 (179). It works fine above X value 170, but when it gets lower, Y output gets above 4095 which should be equal to 10 V output. MI20 reach above 32000 before it turns to -32000. Any idea how to make the output stop at 4095 or am I thinking wrong? I thought I could use linearization blocks instead of PID for the two outputs but maybe that is a bad idea?
  11. Yes, the sensor is 0-50ºC. One AO will control a cooling valve and one AO will control a heating valve. Set point is 18ºC deg. The cooling valve will be 0% below 18,1ºC and 100 % above 20ºC. Heating valve will be 0 % above 17,9ºC and 100 % below 16ºC.
  12. Hi, I'm using a temperature sensor with 0-10V input and a Samba SM35-J-TA-22. When the input rise above 18 degrees, I want the analog output to start from 0 % and at 20 degrees and above it should be 100 %. How can I make this happen? I have one linearization block to convert 0-10V to 0-50 degrees and tried with another for the function described but did not get it work. Does anyone have an idea how to do this?
  13. Thanks Joe, It will be for a system to control temperature and humidity in archives. 18 +/- 2 deg C and 35% +/- 5% RH are the requirement. after some thinking, I do believe I won't require more PID loops than two in most applications. I have earlier used Siemens PLC systems with a lot more loops which is why I asked. Heating and cooling use two AO's. I was thinking to use two PID for this, or maybe some kind of linear function instead works just as fine. For humidity I think I will use some compare blocks to trigger the DO's.
  14. Hello, I got the task to make a control system for a air conditioning unit which I guess needs 4 PID loops. One each for heating, cooling, humidification and dehumidification. Only two loops will be active at the same time. The product overview for Samba SM35-J-TA22 say "Auto-tune PID, 2 independent loops ". Does this mean that it is not possible to have 4 loops in the program? I would appreciate a quick reply!
  15. Thanks for the tip HigHTech. I will try and use that example in my ladder. The application has changed a bit though. Instead of using a 0-10V input, a sensor will be used and a setpoint will be set. If the value is higher than the set point, the pulsing of the output begins. For example, if I have a P-band of 5 degrees, at 2,5 degrees, the pulses will be at a maximum and above that, another output gets activated and the pulsing starts over until 5 degrees above set point is reached.
  16. Back from my vacation I found out that I will use the new Samba SM35-J-TA22 instead but I guess that does not change the options that I have to create the function that I want. I will look at the counter option as well as the PID with PWM digital output. I just want easy programming.
  17. Thanks for the advice. I haven't had time to look into this yet but I will try if I can get it working. I haven't used counters before so I must do some reading about that. Making a flow chart is also a good idea.
  18. It is the analog input that triggers the digital output, above 1 V the machine starts, below 1 V nothing happens. I will use a compare block for the start condition depending on the analog input. When the input reaches 1,1 V the output would run for 1 second and be turned off for 9 seconds. I have found no examples of how to make a timer with a variable running time. I'm not sure how to linearise a 0-10V input to a 0-10 sec output. Or is there some kind of function block that I can use instead? The idea is to control an electric heater on/off and depending on the 0-10V analog input, the digital output pulses on/off with various intensity in a way to control the temperature from the heater.
  19. Hello, I want to add a feature in a program that I have for a Samba SM35-J-T20. Somehow, I want to trigger an output for a variable amount of time depending on an analog 0-10 V input. For example, at 1,1 V output O1 should be on for 1 second and off for 9 seconds and the time should change linear until 4,0 V where the output should be on for 10 seconds and never go off. At 4,1 V the output should start over with 1 second on and 9 seconds off. I simply have no idea how to make this happen and if it is even possible. Any bit of help would be appreciated!
×
×
  • Create New...