Measure Angular Position using quadrature encoders

Hi I’m new to LabView and NI and would like to know whether the angular position, measured using two quadrature encoders can be measured (and interfaced with LabView) using the following National Instruments hardware:
NI cRIO-9014 (CompactRIO Real-Time Controller)
NI-9403
NI-9215
NI-9263
If it can be done I would really appreciate some pointers or suggestions of how to start either setting the hardware up or writing the LabView program.
Many Thanks
Alex

Hi Alex
Welcome to the world of LabVIEW and NI. You're off to a great start with the hardware and software that you already have. It sounds like you just need a bit of extra knowledge to get you started. A great place to look for help is in the LabVIEW  Find Examples.. This can be found on the LabVIEW splash screen pictured in the attached image.
For your specific set up I would also suggest navigating to the following links:
NI CompactRIO Starter Kit and Hardware Setup Wizard Frequently Asked Questions (FAQ)
It may well be an idea for you to attend one of our customer education courses which would really give you a headstart in your application. Information regarding this can be found here:
LabVIEW Real-Time training
I hope this information is of some help to get you started.
Kind regards,
Daniel T
Applications Engineer
National Instruments UK & Ireland
Attachments:
Find examples.PNG ‏253 KB

Similar Messages

  • Wrong results using quadrature encoders with NI DAQCard-6036E

         Hello,
    I'm experiencing some troubles using two quadrature encoders with a NI multifunction I/O.
    The encoders are Micro-Epsilon WDS-7500-P115-CR-TTL. They are incremental encoders in TTL logic. They are connected to a HP laptop running Windows XP Professional. The connection is via the multifunction I/O NI DAQCard-6036E. Each encoder is connected to the DAQ board with four wires: +5V, DGND, track A, track B. I used the system in my office for a while and everything was fine. Then I moved it in another place and now it shows a fuzzy behaviour.
    I made the following tests:
    Test 1) I connect track A&B to analog inputs on the DAQ card. Then I use SignalExpress v2.5 to perform a DAQmx analog input acquisition. The waveforms I get are exactly as expected.
    Test 2) I connect track A to the counter source and I leave track B disconnected. I use SignalExpress v2.5 to set a DAQmx edge counter, with the "Count up" option enabled. Also this test is fine. When I pull the encoder cable I get +N counts and when I release the cable it goes back to zero position, giving other +N counts.
    Test 3) I connect track A to the counter source and track B to P0.6 (or P0.7 for the second encoder), which is the pin used to control the count direction. I use SignalExpress v2.5 to set a DAQmx edge counter, with "Count up". In this way the DAQ should ignore track B and count always up. Actually it does, but the count rate in one direction is double with respect to the count rate in the other direction. This means that when I pull the encoder cable I get +N counts and when I put it back to initial position I get other +2N counts. In this way the counter indicates +3N at the end, while it should be +2N.
    Test 4) I connect track A to the counter source and track B to P0.6 (or P0.7 for the second encoder). I use SignalExpress v2.5 to set an "Externally controlled" DAQmx edge counter. Now I get +N counts when I pull the encoder and -2N counts when I put it back to zero position. In this way the counter indicates -N  at the end, while it should be zero.
    Test 5) I repeat test 4 using LabWindows/CVI v8.1 and I get the same result.
    Test 6) I swap lines A&B. Now track B is connected to the counter source and track A goes to P0.6 (or P0.7 for the second encoder). Using SignalExpress to perform an "External controlled" count, I get +2N counts when I pull the encoder and -N counts when I put it back to zero. So, at the end the counter indicates +N, but it should be zero.
    Do you have any idea on how to solve the problem? Thank you very much in advance.

    A few things:
    1. I'm not from NI and won't try to speak for them.  But I don't believe these forums are meant as a primary means of support, probably not an *official* means of support at all.  Most of the folks here (like me) are NI's more-or-less satisfied customers, not employees.   If you buy a service contract, you can get instant phone support.  If you rely on free support from the forums, I think you'll get good help most of the time, but there's just no guarantee. 
    2. "I just got a [email] reply from MicroEpsilon.  The encoders work fine."   Um.  Based on what, exactly?  Of *course* they will expect their own stuff to be just fine, and in fact I very much suspect they're right.  But NI will expect their board to be just fine, and I expect they're right too.  Or at least it was fine *before* you hooked things up.  Leading us to #3.
    3.  Part of the app note on Quad Encoders on E-series boards warns against connecting differential encoder outputs directly to your board.  I think it mentions that a 24V differential (for example) can damage the board.  But even a low-voltage differential signal isn't electrically *compatible* with your counter inputs.  Your first posting claimed that the encoders produced TTL.  Your June 30 post referred to inverted A and B signals for rejecting common mode noise over long transmission lines.  These are classic code words that scream "differential output", *not* TTL.  So now we can start addressing some specific tech issues.
    4. Your E-series board is not inherently capable of handling true quadrature, as the app note says.  (The newer M-series multifunction boards *do* have the capability.)  You can get kinda sorta close, but you'll be at risk of count errors due to direction changes or during vibrations when otherwise stationary.
    5. You will also need some type of differential to TTL conversion on your (A, /A) and (B, /B) pairs.
    6. You will need a common "ground" reference for all your digital signals (probably not a true earth ground).  So the ground for your conversion circuit and its TTL outputs must be tied to your DAQ board digital ground.  Also the return terminal from any related external power supply.  Sounds like failure to do this had been an issue with a past implementation of yours so perhaps it's an additional factor at play this time too?
    7.  What are you trying to measure?  For what purpose?  What decision is made from the data?  How much do you care about its accuracy?  These are leading questions, but I'm suggesting that meeting schedule with an unreliable app that produces untrustworthy data just might not be the best goal to strive for right now.  If you care to maintain accurate position count despite direction changes or vibrations, you *need* something more than your E-series board.  If you want reliable edge counting operation with *any* DAQ board, you *need* electrically compatible signals.
    -Kevin P.

  • Using Quadrature encoders

    Hi,
    I'm using a quadrature encoders with a PCI6025E board to measure an angle,
    I want to use the COUNTER1 so I have connected line A of the encoder to PFI_3 and Line B of the encoder to LINE DIO7.
    I have configure the 6025E with this code to read the counter 1 value :
    status = GPCTR_Control(1, ND_COUNTER_1, ND_RESET);
    status = GPCTR_Set_Application(1, ND_COUNTER_1, ND_SIMPLE_EVENT_CNT);
    status = GPCTR_Change_Parameter(1, ND_COUNTER_1, ND_SOURCE, ND_PFI_3);
    status = GPCTR_Change_Parameter(1, ND_COUNTER_1, ND_UP_DOWN,ND_HARDWARE);
    status = GPCTR_Control(1, ND_COUNTER_1, ND_PROGRAM);
    All the status code return by this functions are 0 and so OK.
    But when I Get the counter value with GPCTR_Wathch().
    When i tur
    n the encoder in one way it count up well, but when i turn the encoder in the other way (down) I read a count that is is two times more than the count up (count down = 2 * count up) !!!!
    Does someone have meet this problem before?
    Any solution to solve this problem ?
    Thanks.
    dpasssounaud

    Hello,
    Your programmation seems to be OK. And the connections too.
    Please, test the program in the attached file and tell me about the results.
    Sanaa T
    National Instruments
    Attachments:
    Mes_Ang.zip ‏5 KB

  • Using quadrature encoders with PXI-6025

    Hi!,
    We are using an encoder for position data. The encoder gives A and B pulses which are phase shifted by 90 deg.
    Grating Pitch = 40 microns
    We make the connection to our PXI-6025 as such:
    Channel A pulse goes to PFI 8 (GPCTR_Source)
    Channel B pulse goes to DIO6 (GP_Up_Down)
    Ground goes to DGND
    We are able to increment/decrement the counter on our 6025 for every 40 micron movement
    However, we are unable to quad the input and increment/decrement for every 10 microns. How do we achieve this?
    We have an electronic circuit which converts the 40 micron A and B pulse from the encoder into 4 pulses spaced at 10 microns. But, using this single pulse mode does not allow for up/down counting.
    We are using LV-7.1
    , NI-DAQ 7.2 and Win2000 prof.
    Looking forward to some quick help.
    Thanks,
    Gurdas
    Gurdas Singh
    PhD. Candidate | Civil Engineering | NCSU.edu

    There's one tedious way that might work if you only need to post-process the data. However there are several possible problems.
    The idea is to perform buffered semi-period measurements with both the counters on the 6025. Once you've collected all the needed semi-period data, perform a cumulative sum of each array so you end up with timestamps for all the transitions. Then you'll need to go through them to distinguish (+) from (-) direction quadrature transitions and generate a cumulative position array.
    I don't think there's another way -- only semiperiod measurements will react to both edges of an incoming pulse train. However, it *is* possible in principle to get your 4x factor in resolution. Now for the problem list:
    1. Your 6025E only has 1 DMA channel. One of the counters will have to be configured to use interrupts, which in turn will limit the maximum encoder rate you can track. I wouldn't count on tracking better than single digits of kHz, and you may not even be able to achieve that much.
    2. The last time I did semiperiods on an E-series board, there was no way to specify which edge would mark the first recognized transition. If the input was low when you started, the first transition recorded would be a rising edge; if high, then a falling edge.
    Knowledge of the initial state of the inputs is critical for your software quadrature decoding. I think the solution I used was to parallel wire the A&B channels to a couple DIO pins which I inspected before any encoder motion started. If your encoder jitters or vibrates about its nominal position however, you're probably hosed.
    Are you sure you can't use the LS7084 to replace your other external circuit? The alternatives are either going to be trouble-prone gimmicks like I described above or the purchase of new DAQ equipment.
    If you have budget for new DAQ equipment from NI, I'd suggest you look into one of the following:
    1. Low-cost M series multi-function board
    These have 2 32-bit counters onboard that are capable of quadrature decode. Each counter gets its own DMA channel for buffered acquisition. Plus you get a bunch of analog in, timed digital i/o, and can get analog outs. The boards are $475 with 2 analog outputs, $375 with none.
    2. dedicated counter/timer board
    The 6601 is cheaper at $295, but is limited to 1 DMA channel and has a slower onboard timing clock. The 6602 costs about double that but gives you somewhat more than double capability.
    -Kevin P.

  • How to measure angular speed by RVDT

    Hello,
    I quite new in labVIEW and I am trying to measure angular speed of shaft by RVDT which is able to measure in electrical range 0°-280°. I use NI USB-6008 card and RVDT is also powered by this card (5V). I have already found way how to measure angular position but i do not now how to convert it to angular speed. I tryed to do it by derivation but the result was weird. Could anybody give me an advice how to do that. I would really appreciate that.
    My VI is attached.
    Attachments:
    rot pot.vi ‏154 KB

    Hi kome01,
    The issue comes from the fact you are only acquiring one sample per iteration of the loop, and to differentiate you need to provide at least two values, as well as a time difference between each.
    The Express VI you are using is clever in the way that it can measure the time between samples for you, but you will still need to provide multiple samples. I have changed your VI to continuously acquire samples from the potentiometer, and have provided some notes in the block diagram to help you.
    Hope this helps!
    Attachments:
    rot pot.vi ‏153 KB

  • Using 6602 to measure multiple position encoders

    I am trying to use the 6602 timer/counter to measure two positions that come from quadrature encoders. Currently, I have counter 0 measuring one and counter 1 measuring the other. Whichever encoder is connected to counter one is counted correctly. But the other encoder (connected to counter 1, or any other counter) is only counted correctly when position is positive. When position is negative, the counting is unpredictable and incorrect. Has anyone set up something like this before?

    Try connecting the encoder that won't count backwards to counter 0, which you know works. Also, try connecting the encoder that works to counter 1. Doing this simple test will prove whether counter 0 is good and all the others are bad, or whether you simply have one bad encoder.
    Regards,
    Justin Britten

  • How do i use my NI 6216 daq to find a angular position of an incremental encoder

    i have a ni 6216 daq baord and an incremental encoder (i dont know the pulses per revolution of encoder). How do i write a labview code to get the angular positon of a motor wihch is interfaced with the encoder. How can i know the pulses per revolution of the incremental encoder.
    Thanks.

    Hi, 
    My name is Thomas and I am an application engineer at National Instruments.
    I looked through some of the information we have on file for incremental encoders and found a couple of documents that may be of help to you. 
    Follow this link for some general documentation on setting up an incremental encoder to measure the angular position of your motor.
    Follow this link for some example code off of which to build your application.
    As you alluded to, we are going to need to know at how many pulses per revolution your encoder runs. Which encoder are you using? With a bit of research we can hopefully learn the specifications for your specific encoder. 
    Best Regards,
    Thomas B.
    National Instruments
    Applications Engineer

  • Angular position measurement

    how to used encoders to angular position measurement of rotating shafts 
    Attachments:
    IRC305.pdf ‏303 KB

    Hi Sabry,
    what is your question? Good starting point is to open LabVIEW Example Finder and check code examples located in Hardware Input and output » DAQmx » Counter Input section. You can also try to search at NI Developer Community web. This table shows Default NI-DAQmx Counter Terminals on your C-Series module NI 9401 - http://zone.ni.com/reference/en-XX/help/370466W-01/device_pinouts/9401cdaqpinout/
    I also recommend you to read this White Paper which can give you good outlook on Encoder Measurements.
    Regads,
    Ondřej K.
    NIEE AE

  • 3-Channel angular position measurement

    Hi,
    I have the PXI-6230 available in my PXI system. What I am trying to achieve is to read the outputs of a stepper motor driver and determine the corresponding angular position and direction (i.e.. like a stepper motor simulator). The driver outputs 3 pulse trains (3 coils). I am wondering if it is possible to use the counters on the PXI-6230 for this application? I've read some info on the M-Series Counter X1/X2/X4 Encoding for position measurements. But such methods require only 2 input channels A & B to detect the pulse counts and direction. Is there a workaround to apply this encoding method for my application? Any help/advise is greatly appreciated...

    Dunno if there are new ways in newer DAQmx versions since I'm not near a machine I can double-check.  Meanwhile,
    I'll describe a way I've often handled it:
    1. First of all, the M-series counters have true quadrature decoding built into the board so that direction is handled properly.  When you move one direction the count increments and when you move the other, the count decrements.
    2. I don't know of a method to "retrieve" the direction itself with a software query.  You might need to remember (think "shift register") the previously queried position so you can figure out direction yourself after retrieving the current position.
    3. Most of the time I read my counter values as u32 datatypes rather than as scaled floating point values.  Kind of an old-school habit since I "grew up" under the older "traditional NI-DAQ" driver.  However there's one little gotcha to look out for.
       Since most tasks start with default count value of 0, it's very common for quadrature motion measurements to decrement below 0.  However, u32's cannot express negative numbers so the count will suddenly jump from 0 to 4 trillion something (specifically, 2^32 - 1).  If you pass any u32 readings through an i32 data conversion function (numeric-->conversion palette), the bits get reinterpreted in the expected way so that a decrement from 0 reads as -1.
    -Kevin P

  • What function is used to read Angular Position form a Task?

    I have created a DAQmx task in MAX. This task configures a counter on a PCI-6259 to take the A and B counts from an encoder and give the Angular Position. What function do I use to read the value since I am no longer reading counts I am reading the position?
    Thank you in advance for any advice!
    John O'C
    Staff Test Systems Engineer
    Woodward, Inc.
    Skokie, Illinois, USA
    "Life is not a journey to the grave with the intention of arriving safely
    in a pretty and well preserved body, but rather to skid in broadside,
    thoroughly used up, totally worn out, and loudly proclaiming...
    Wow...What a Ride!"
    Solved!
    Go to Solution.

    Hi Izzy,
    I have Created the task in MAX. The task takes input into the counter from an encoder and converts it to angular position. Do I still use the DAQmxReadCounterF64 function to read the counter? I am guessing that I do and that the function returns the angular position rather than the raw counts. Not sure though.
    Thanks for taking the time to respond.
    Regards-
    John O'C
    John O'C
    Staff Test Systems Engineer
    Woodward, Inc.
    Skokie, Illinois, USA
    "Life is not a journey to the grave with the intention of arriving safely
    in a pretty and well preserved body, but rather to skid in broadside,
    thoroughly used up, totally worn out, and loudly proclaiming...
    Wow...What a Ride!"

  • Selection of daq board to find angular position of 6 motors using encoder

    can you suggest me best daq board to use 6 motors positions as outputs using encoders attached to the motors. i will be using single counter for each motor. Or can i use a single counter for all the motors encoders??
    Solved!
    Go to Solution.

    Hello Prabhakar7117,
    You would need a counter for each encoder. Since you will be using 6 encoders, you should get a DAQ device with 6 or more counters. Take a look at the PCI-6624 or PCI-6602. Another option would be a CompactDAQ chassis with modules that are able to access the counters. Take a look at them.
    PCI-6624
    PCI-6602
    KB Which cDAQ Modules can be Used to Access the On-board Counters?
    Best Regards,
    Alina M

  • Huge latency reading quadrature encoders

    I'm using a PCI-6601 to read two quadrature encoders on a pan-tilt mechanism. The software uses the DAQmx C interface and polls the encoder positions at 200Hz. The problem is that there appears to be a huge latency on the order of ~50msec between when the encoders move and when the positions being read out reflect the movement. That can't be normal.... is it?
    I am able to get data off the DAQ at the 200Hz rate, and the values all look reasonable except that they're time delayed by the aforementioned 50ms. So I'm getting a resolution of at least 5ms, just time-shifted. The first thought was that the values were being buffered somehow, but there doesn't appear to be any buffer, at least that I can find. As I understand it quadrature input shouldn't be being buffered in the first place, and in any case a buffer should be read out with the call to DAQmxReadCounterF64 (the DAQ returns only 1 value), and indeed explicitly setting the input buffer via DAQmxCfgInputBuffer does nothing. 
    To double check the results I tested NI's sample code for reading quadrature encoders (http://zone.ni.com/devzone/cda/epd/p/id/5735) and I get the same latency (minus the ~5ms that was caused by the 200Hz timer, as the sample code polls in a tight loop.)
    Any idea of what might be going on here?
    Thanks!
    Gene

    Hi Gene,
    I just wanted to make sure you were indeed using DAQmx (since you linked the DAQmx Base example).  I might expect the DAQmx Base version of the code to take longer to execute, but re-reading your post it sounds like the problem isn't with the code keeping up but rather that the values themselves are delayed by ~50 ms.
    A buffer would only be allocated if you configure sample clock timing on your encoder task.  The example you linked doesn't do this, so I'll assume your code doesn't either.  It's probably worth noting that you can configure a hardware-timed sample clock so you can deterministically sample the count register at regular intervals, but this isn't going to help with latency.
    So taking a step back for a moment, I am now curious on how you are measuring the 50 ms latency.  To verify a 50 ms delay would require measuring the actual time difference between the start of the counter task and the first pulse of the encoder and then comparing the measured time with the time you are seeing in software (assuming ~5 ms per sample from your 200 Hz polling loop).  I would not expect a 50 ms latency in your measurement, so it's probably worth elaborating on exactly what you are seeing and how you are characterizing it.
    Best Regards,
    John Passiak

  • 3 quadrature encoders on one 9411

    I'm trying to read three quadrature encoders using a 9411 in a cDAQ. In the cDAQ is a 9437 reading a load cell.
    Sample rate is set to 1613 HZ, and the counters use the cDAQ/ai_clock .
    Reading one encoder on DI0a/DI1a, I have no problems. As soon as I add a second encoder on DI2a/DI3a, I begin to get strange results. It's as if the position skips or jumps occasionally.
    I guess before I start troubleshooting I'm wondering if there is any reason I should not be able to measure three quad encoders using the 9411.
    The three encoder readings are three different tasks. Perhaps I should make them one task? These tasks are all read in a loop, 20 readings at a time, but they're reading in parallel.
    Using LV2013, Win 7.
    Hoping to get some advice on the code.
    Jeff
    Attachments:
    Hole Punch Tilt Measure Fixture.zip ‏119 KB

    Sure! Keep in mind that I'm not a pro at Labview. See if this works for you. Should be in 2011
    Attachments:
    Hole Punch Tilt Measure 2011 Folder.zip ‏110 KB

  • Hw-trigger​ed angular position measuremen​t

    Hello,
    I'm trying to measure wear "on the run" by calculating mass difference from increasing flank tolerance.
    Therefor, I'm using hw-triggered angular position measurement (position of the pinion at a certain position of the gear).
    I tried the DAQmx task on the M&A Explorer (18.000 increments,4x,A High,B High), triggered by the square pulse (+5V) from the incremental encoder of the gear.
    I've got some noise on the signal, but nothing that would hurt.
    With a gear transmission ratio of 41:2 I should get two results each differing with 180deg at an constant interval (depending on the number of revolutions).
    But what I get are senseless results at no visible interval.
    I used another DAQmx task to count the flanks of the trigger signal which works very well (at a constant interval) so obviously the trigger signal is all right.
    I'd be very glad to hear of any ideas or another possibility to solve that problem.
    Thanks in advance,
    A.Monz

    Sounds like a tricky app.  There tend to be a lot of frequency components in rotational measurements on geared shafts.  These will influence your measurements.  Also, inferring wear mass via flank tolerance sounds like a very subtle measurement requiring very high signal to noise.  So I think you've got your work cut out for you from a physics standpoint.
    In the data acq world, however, maybe I can help.  First, the terminology.  It sounds like you've got some reference position that produces 1 pulse per rev.  You'd like to grab 1 sample of position on each of these pulses.   You're calling this pulse the "trigger."    However, in the data acq world, that sort of operation would usually call the pulse an "external sampling clock."  
    Step 1: Make sure you're treating that 1-per-rev pulse as an external sampling clock, not as a trigger.
    Next, how's your resolution?  An 18k incremental encoder is pretty high-resolution, but is it really enough to detect the small angular difference caused by mass loss through wear?  Have you worked out the geometry to know the linear distance (at the pitch diameter) represented by 1 encoder count?  For good trending and measuring, it's typical for the measurement device to have 10x the resolution that you need to discriminate.
    A different approach to try to gain resolution might be to measure time between pulses.  Depending on your board, you can get either 20 MHz or 80 MHz time resolution.  Then, depending on your linear speed at the pitch diameter, you can figure out how much linear distance is represented by 1 time count.
    -Kevin P.

  • DAQmx - Measuring edge position (time) with a counter ?

    Hi all,
    I have two signals that I need to study using a USB 6212 (BNC) card:
    (1) a short 0-8V signal (~500 ns) (yellow on the plot)
    (2) a long signal (~6 µs) for which I have to measure the amplitude (purple on the plot).
    The long signal (2) has to be connected to an analog input so that I can measure its amplitude. In addition, given the duration of the pulses, I need to use the max speed for the ADC conversion. That's why I'd like to use a counter for the other signal and not a second AI (it wouldn't work anyway given the short duration of the pulse (1)).
    Initially, I wanted to measure the amplitude of (2) only if the short pulse (1) occured, which is possible with a trigger on the AI channel, but in this case I get a too long deadtime and the acquisition is very slow.
    To speed up the process, I wanted to record all the data with the AI and the times at which the signal (1) gives a rising edge to post-process everything later (using a FIFO I guess).
    So my question is wether it is possible to measure the position (ie the time) of an edge of a signal with a counter ?
    The signals measured with a scope are shown on this picture:
    http://lpnhess.in2p3.fr/~bolmont/NI/outhg1.png
    Thanks a lot for your help !
    Cheers,
    JB
    JB

    Greetings,
    Please see 8-3 of http://www.ni.com/pdf/manuals/371931f.pdf
    This shows that you can use the counter to record the current value stored in the counter that is being driven by a clock. This has the upshot of creating an array that has the times of the event. To do this, you need to set the source and gate properly. These can be set first by configuring the counter to Count Edges (see DAQmx Create Channel) and then updating the CI.CountEdges.Term (in the DAQmx Channel Properties) to the channel that has your signal and SampClk.Src (in the DAQmx Timing Properties) to a known clock, such as the onboard SampleClock.
    Keep in mind, the specs for the digital ports (which I assume include the counter ports) have a maximum voltage rating of 5.25 volts, so while it probably won't make a difference, you might want to divide down the voltage to be within spec.
    Of course, there are other ways to do this. For instance, you could just sample a digital port along with your analog port and then in post processing look for edges, but I feel like this is the cleanest way to do it.
    In any event, it seems very possible.

Maybe you are looking for

  • Idoc to uodate delivery date of line item on Purchase order

    Hi All, Our vendor sends a delivery file consisting of delivery date and quantity(could be partial) for line items of a purchase order. I need to update the Purchase order line item with the delivery date and quantity sent from the Vendor. It should

  • XSL transformation with java binding

    Hi everyone! I am trying to implement na XSL transformation that uses java code binding. My XSL looks as follows: <i><xsl:stylesheet xmlns:myobj="java.lang.System"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xf="http://www.s

  • HT2500 How does one set up an .mac mail account?

    One of our MSN Hotmail accounts has been hacked, and a friend (who has an Apple .mac account) has suggested that we should be using .mac mail accounts but I cannot find out how to set one up. Do I have to go down to the Apple store to find out or . .

  • HTML entity missing in Design View

    Hi Folks, When I use the HTML entity → (right arrow), it renders properly in browsers as an arrow, but it shows as an empty box in Dreamweaver Design View. This is common with some other special characters also. Any idea as to why this happens? Thank

  • IBook Battery Problem

    Hi guys, Just registered for these forums, as this is the first problem I've had with my iBook in nearly two years! Recently, for no apparent reason, my iBook has stopped recognising that it's got a battery in it. An "X" appears in the battery icon o