MrPLC Member
  • Content count

  • Joined

  • Last visited

Community Reputation

10 Good

1 Follower

About DanW

  • Rank
    instrument guy

Contact Methods

  • Website URL http://
  • ICQ 0

Profile Information

  • Gender Male
  • Location Midwest, USA
  • Country United States

Recent Profile Visitors

4137 profile views
  1. BACnet for running a site

    I've never used BacNet but if you're familiar with it, why not?  The alternative is probably Modbus, but why switch mid-stream if you'd had success with Bacnet in the past? I have seen several comments on Linkedin from those in the HVAC world who are migrating, when possible, to Modbus from Bacnet because of issues with inter-operability of Bacnet produc', but having to experience, I can't comment. If you consider Modbus, RTU over RS-485 has an inherent issue with grounding and might require an RS-485 repeater Isolator to eliminate ground loops between points at long distances, where the earth grounds are at different potentials.   Ethernet is inherently isolated by design, although the spec for distance is 100m, although the signal doesn't die at 100m, you're on your own as to whether it works and how well beyond that point, so people put in a switch as a repeater at 100m intervals.
  2. Honeywell Experion SCADA

    From experience 15 years ago with a SCADA version (Plantscape) of the DCS software, I feel fairly confident asserting that without a valid license code, Experion DCS software has no trial period at all therefore zero functionality; meaning that limitations are total.  I’m fairly confident that the software will not even install without a valid license code. 
  3. PT100 on Arduino Mega Industrial Shields PLC

    1.  The 4-20mA signal is converted to a voltage for the analog input on the Arduino to read it properly. Ohms Law says that 4.0mA current through a 250 ohm resistor drops 1.00 volts (E=I*R) 20.0mA current through a 250 ohm resistor drops 5.00 volts (0.20A * 250ohms = 5.0V) When 4.0mA current passes through 237 ohms, then the voltage drop is:   0.004A * 237 ohms =  0.948V. Not having exactly 250 ohms makes your reading low. 2.  You need to know what the scaling or range is for the temperature transmitter.    4.00mA = x Deg F or y Deg C 20.00mA = x Deg F or y Deg C 3.  Your calculations for what resistance is make no sense whatsoever.   > I got the values from an online pt100 table for resistance and tabulated them from 0-110C in 10 deg increments and for the corresponding resistance using:  nADC = 1023 * ( 237Ω/(237Ω+Rpt100)) The Arduino 'sees' only the mA current signal from the temperature transmitter and the voltage drop it creates across the analog input.   That signal could be relative humidiy, velocity, flow rate, pressure, temperature or about 100 other process variables. Your calculation has to interpret the voltage drop seen at the input and scale that voltage drop for temperature. You can only do that when you know for certain what the range of the temperature transmitter is (see item 2, above). 4.0mA = x deg F or C 20.0mA = x deg F or C. If you don't know, then you can estimate the range with freezing water and boiling water. Make up an icebath of crushed ice and a little water and put the RTD in the ice bath.  That's close to 0 deg C or 32 Deg F.   Measure the current output with a milliampmeter and record it. Boil water with the RTD in the pot.  Try to keep transmitter out of the heat.  Measure the current output when the water boils. Post the resulting current values here and I'll help you calculate what the transmitter is ranged for.
  4. OPC & PLC Integration

    I will freely make the statement that OPC UA will NEVER work with an unknown PLC with unknown data registers and unknown data properties. You can't even get OPC DA to work with an unknown PLC with unknown data registers and unknown data properties.  Hardware connection details do not qualify as data properties.   There is zero basis for accomplishing digital communications. The basis for data communication is to know and understand the properties of the field data and then create/use/buy a digital communications protocol and associated bus hardware to accomplish data transfer and whatever software/firmware is needed for data interpretation at the other end. The lack of understanding and knowledge about the data and its propertied precludes/exludes/eliminates the reasonablness of  attempting any type of digital communications. As to unreasonable expectations, I like the signature line of a water processing expert - "Any water can be made potable if you filter it through enough money".    The same applies to any task, but is it worthwhile compared to the alternative - outright replacement?  
  5. Temperatre Sensing

    Every yard sale I've ever been to has a box of junk including an old mechanical residential wall thermostat; probably working, just replaced with a programmed setback type. As long as the temperature range is adequate, then use a residential thermostat.  If the temperature range is outside that of a residential T-stat, there are dozens of cheap single loop temperature controllers with a relay output that will run on-off like a thermostat.   You'll need a foot of J, K, or T thermocouple wire, too.  All are powered devices, but so is your PLC.  Ebay is your friend. Many are sold by people who have no idea what they are, so it's up to you to know what you're buying.  You need to know how to decode the model number to make sure it has an electromechanical relay that you can use with your PLC DI. 
  6. A 32 bit floating point consists of four 8 bit bytes, each represented by two hexadecimal characters. The actual total value, 147082 (decimal) is 0x480fa2c0 in 32 bit floating point. the 1st byte is 0x48 the 2nd byte is 0x0F the 3rd byte is 0xA2 the 4th byte is 0xC0 The first byte value 0x48 makes a low 6 six digit value in the 100,000's in 32 bit floating point   substituting a value 0x47 for the first byte reduces the total to well below 100,000, down to 37811. Although there are four accepted formats for floating point word and byte order and most common issue in getting the correct value is getting the words and bytes in the correct order, the problem here is that the value you provided from the ladder logic has no byte value close to 0x48 to get a 32 bit floating point total into the range of 100,000. Your ladder logic value is 15598 17316  decimal 15598 converted to hex = 0x3CEE 17316 converted to hex = 0x43A4 None of those bytes is close enough to 0x48 to get you a total over 100,000.  In standard format, 0x3CEE43A4  = 0.029084988 Swapping word order gets the closest value: 0x43A43CEE = 328.476 Swapping bytes gets bizzare: 0x3CEE43A4  = 0.029084988 0xA443EE3C = -4.2485677E-17 Without a ladder logic value closer to what your actual total is, it's sheer speculation whether the issue is word/byte order.
  7. >However, it doesn't list what bits I need to send to the device in order for it to send the PLC the data. I've tried contacting Siemen's (who makes the BGA) and they were useless. RP500 comm manual page 2-7:  Patient Sample Assay Transaction - The analyzer notifies the host (LIS) that a patient sample analysis has begun or been cancelled. - Host acknowledges - analyzer notifies host that new patient data is available - host acknowledges the msg - host request the data and identifies the sequence number of the requested data - analyzer sends data - host acknowledges
  8. HMI and Weighing Indicator

    I have no experience with Omron, but from general Modbus experience I have these observations: 1) Master or slave? a) Modbus functionality is sometimes 'native', included in the operating system, but is frequently an option, meaning not every device has Modbus, only those with an option.  Do each device have the Modbus functionality?    Does each device really talk Modbus (not some other protocol over RS-485)? b) A Modbus master can talk to one or more Modbus slaves, a Modbus master can not talk to a Modbus master.     c)  An RS-485 network can support one and only one Master d)  Field devices that are Modbus slaves will always have a 'map' or table' of assigned register addresses where the data resides.  Modbus masters do not have a map or table. e)  Some PLC's can operate as either a Modbus master or a Modbus slave, depending on programming and port assignment.   All that said, a Modbus master does not have a Modbus slave node ID number (1-247), also called station number.   A Modbus slave node ID number (station number) indicates slave functionality, not Master functionality. In the link you provided (for NB7W), the PLCs are functioning as Modbus slaves, as evidenced by two PLCs on one Comm port and each has a 'station number'.  Only a Modbus slave would have a station number.  Modbus Masters do not have station numbers.   Presumably the NB7W is a Modbus master, which is typical for HMI devices when used with PLCs. That means your weighing indicator must be a Modbus slave to communicate to HMI (a Modbus master) as shown in the setup in the NB7W link provided.  However, generic digital indicators typically have a Modbus slave 'option', although Precision Digital makes a "Modbus indicator" that can be a Modbus master.   I do not know the typical functionality of a 'weighing indicator'. If you want to connect the HMI, a Modbus master, to your weighing device then your weighing device must be a Modbus slave. Is your weighing indicator a Modbus slave? 2)  RS-485 issues a)  The drive lines for RS-485 differ in labeling from manufacturer to manufacturer.  While, electrically, (+) wires to (+) and (-) wires to (-), sometimes one manufacturer's (+) is the other manufacturer's (-).   Connecting the drivers backwards will not damage the lines, but RS-485 (and Modbus) will not function.   Try swapping the lines to see if the lines are labeled differently. b)  RS-485 should have a 3rd wire, a signal ground.   But many manufacturers do not supply a signal ground connection. c)  Termination resistors (typically 120 ohms) are installed at the devices on the two ends of the network, usually the master and then the last slave.  Short cable lengths at low baud rates (9600, 19.2K) will almost always work without resistors. d)  Just the presence of an RS-485 port does NOT mean that the device talks Modbus.  Modbus is a protocol, RS-485 is a communication link.  If a device talks modbus, its documentation will specifically state Modbus functionality.  3)  The Modbus master has to be configured/programmed to poll for the data from the slave Have you configured the HMI to poll the weigh indicator for the data?
  9. Walt Boyes reports that Dick Morley, the father of the PLC died on October 17th. http://www.spitzerandboyes.com/a-legend-passes-dick-morley-died-today/ Wikipedia has been updated and summarizes Dick's contribution to the automation world: "Richard (Dick) Morley (died October 17, 2017) was considered the "father" of the programmable logic controller (PLC) since he was involved with the production of the first PLC for General Motors, the Modicon, at Bedford and Associates in 1968. The Modicon brand of PLC is now owned by Schneider Electric. The PLC has been recognized as a significant advancement in the practice of automation, and has an important influence on manufacturing industry." https://en.wikipedia.org/wiki/Dick_Morley An article gives some history of the process Dick went through in the early days https://www.automationmag.com/features/the-father-of-invention-dick-morley-looks-back-on-the-40th-anniversary-of-the-plc.html
  10. Control Valve

    The valve is the chunk of metal or plastic in the line that regulates the flow. The actuator is what drives the valve open or closed. An actuator driven by two 24Vdc discrete outputs is likely an electric actuator. Here's an example of an actuator driven by two AC discrete outputs. https://postimg.org/image/vg2qoudr7/  (the forum's "insert other media" doesn't work for some reason) The actuator functions like Bryll describes: powering one output "increases" the valve position (opens); powering the other output "decreases" the valve position (closes). When neither output is ON, the valve position is stationary, it remains at its last position. The diagram shows a slidewire feedback so that the control system knows what current valve position is.  The absence of valve position information is 'open loop control'. The control logic has to be written so that there is no circumstance where both outputs can be ON at the same time. One has to consider what happens on Start-up when the valve position is unknown.
  11. ModbusComm

    In Modscan32 you need to use the address 14193, because Modscan 32 address is decimal, not hexadecimal 0x3770 = 14192 decimal Since hexadecimal addressing is usually zero based, and decimal addressing is usually one based, the 3770 (hex) register is probably at 14192 +1 = 14193 (decimal) Note that the format for displaying values in Modscan can be changed from binary to hex to integer or floating point, but the address is always a decimal number.  
  12. Honeywell DCS with Schneider Citect

    I spent about 10 minutes looking for documentation for this system.   There is no documentation on the US Honeywell web site (see statement at the bottom of the screen shot of the search engine): https://s23.postimg.org/g3h5pdvqj/no_documentation_on_US_site.jpg I found several data sheets but no manual. I found one reference to it being a German product. I found lots of references to it being BACnet enabled, but only short cursory references to its Modbus capability. The question in my mind is whether it is a real product of vaporware product or a short-lived now obsolete product.  Any commercial device that returns no Google search hits for "manual" doesn't seem to have much of a market presence. If Modbus is real for this product (which is real?) then there has to be some documentation, but 10 minutes didn't bring up any. In general, you need documentation to figure out Modbus.   PLC slaves frequently need to map specific tags or points to Modbus registers. Honeywell's industrial HC-900 Process Automation Controller has a fixed Modbus slave map where each function block is assigned slave address registers, or one can custom map each and every point.  It's an either/or situation, one does fixed or custom, but not both at the same time. Wireless systems frequently allow custom mapping of tags to registers.  But you have to know that and how to do it. Sorry I can't help. but Honeywell hasn't begun to make it easy to use this particular beast. I'm putting this one in my folder called, "Just because it's Modbus doesn't mean it communicates". http://forums.mrplc.com/index.php?/topic/32683-honeywell-dcs-with-schneider-citect/    
  13. See my lengthy introduction to Modbus in this thread (4th post down): How do you know the PLC Modbus slave register is 450001?  Where did that register number come from? The PLC has to be configured as a Modbus slave with a slave node ID number (maybe it defaults 1, sometimes 247, who knows?  You need to look it up and determine what the slave ID number is. You need to research how to set up your HMI as a Modbus master.  It's somewhere in the HMI documentation, it has to be because an HMI has no I/O, it has to read its data digitally from some device. You need to setup the serial settings on both devices to be the same (baud rate, 8 bit word, parity). You need to dig out the wiring connections for the RS-485 connections.  A to A, B to B or + to +, - to -, unless one of them does it backwards, which happens more than it should.    If it's 4 wire RS-485, the jumper + to +, - to -.   You should connect signal ground with a 3rd wire. If you can test  on the bench it's a lot easier than running back and forth. I'd use a generic Modbus master to read the PLC's value first to confirm that you can actually read data from 450001 and interpret it (integer, floating point, long integer, whatever format). Then start working through how the HMI reads a Modbus value.    
  14. floating and Nonfloating I/O modules

    Non-floating I/O modules are the ones that have problems with ground loops due to the difference in ground potential between where the field source device is powered and where the PLC is powered.   One connects a signal with too much common mode voltage and there's an offset or the signal is driven offscale in either direction (depending on the polarity of the ground differential).    That's why Siemens says everything must be equipotential - no ground potential differences.   Easy to print in a manual, ink is cheap and maybe there's a plant somewhere that is equipotential (the old NORAD radar sites were probably equipotential given the effort to install and maintain ground planes) but I'm not sure I've been in one.
  15. DP Flow Measurement

    This is now a four year old thread, but given how threads come up in searches I'll give an answer: >"Which would be preferreable - compact logix, square root, two press trans, or a differential pressure transmitter? Is there a difference in accuracy?" 1) Two or one transmitters Whether measuring pressure drop across a flow element or a filter, one always, ALWAYS, uses a differential pressure transmitter, one with two ports, and high side and a low side. Using two separate pressure transmitters is folly.  The combined error can put you in the 10's of percent error.  In fact, at low flow, the errors could combine arithmetically to indicate reverse flow, because the basic calculation is high side minus low side.  The nature of percent full scale accuracy means that the error increases as the signal approaches the low end of the scale and is greatest at the low end.  If the low side transmitter errs on the high side and high side transmitter errs on the low side, the subtraction of the two could drive the result negative, for low DPs. 2)  where to extract the square root Differential pressure transmitters accuracy is spec'd on the DP, not on the line/static pressure, which is what would be used with two separate Gauge pressure.transmitters. The instrumentation world is divided as to whether the square root should be extracted in the transmitter or the receiver (PLC).  I favor square root extraction in the transmitter because a) it's the most accurate, it's internal to the transmitter, b) the output signal is linear over the range of determined by the sizing of the primary flow element (the orifice plate). But there are lots of others who extract in the receiver.  An all too common problem (for people who should know better) is erroneous double extraction, in both the transmitter and the receiver. 3)  flow across a control valve If getting accurate flow rate measurement across a valve was feasible and reasonably easy, lots of people would do it.  Not only could one avoid the cost of a primary flow element and its installation, measuring flow across a valve would avoid another process pipe intrusion.   It would be a popular measurement technique.   But it isn't easy and I can't even recall where I've ever seen that done and I'm an instrument guy, that's what I do.   A major problem with measuring across a valve is flow profile.   Established DP Primary Flow elements, orifice plate, venturi, averaging pitot tube, or nozzle all require fairly extensive straight pipe upstream/downstream in order to develop a flow profile at the DP element.   Valve manufacturers design valves to create pressure drop which takes energy out of the system, valves are in now designed to create a clean flow profile suitable for measurement.  All sorts of phenomena will affect the flow profile (if there is one) and the subsequent DP across a valve, like Mr. Lloyd mentions. Primary flow elements used for flow measurement are over 100 years old with lots of supporting data for the relative accuracy claims.  Probably the least expensive primary flow element including installation is the Averaging pitot tube.   Any of these beat the task/effort to characterize flow across a valve and its questionable reported flow rate.